码云推荐 | SpringBoot 的扩展实现 bsf.mvc

springboot的扩展实现,让springboot开发更加简单;形成demo模板,以后开发更方便。

  1. 自动requestmapping(无需配置)实现。

  2. freemarker java扩展实现,使freemarker更加便于使用。

  3. request 参数大小写兼容实现,传入参数不再区分大小写。 date日期参数兼容,支持对象绑定对public字段的自动映射。

  4. url 大小写兼容,不敏感。

  5. 提供默认分页控件。

  6. 支持.net mvc的写法。

  7. 自动requestmapping(无需配置)实现。

1 /**
 2  * sprinboot扩展实现,自动requestmapping(public,返回值为ModelAndView类型/或子类)的方法
 3  */
 4 public class SpringMvcDemoController extends SpringMvcController {
 5     public ModelAndView index(Integer a,String b)
 6     {
 7         return this.pageVisit(m->{
 8             //分页控件实现说明
 9             new Pager1(1,20).setPageSize(10).out();
10         });
11     }
12 
13 
14     public ModelAndView index2()
15     {
16         return new ModelAndView();
17     }
18 }
application.properties 文件中配置,加快自动映射启动速度。
#bsf.mvc自动requestmapping注入的包路径,逗号分割多个
bsf.mvcpackage=com.bsf.mvc.webdemo.controller
  1. freemarker java扩展实现,使freemarker更加便于使用。 freemarker页面
${Html.s("pagetitle","编辑分类")}
${Html.g("pagetitle")}
${Html.p(model.createtime)}
${Html.w(c.selected,"selected='selected'","")}

后台代码

/**
 * TemplateProvider 缩写简写扩展,方便页面模板里面使用
可以被继承,不断扩展
 */
public class SimpleTemplateProvider extends TemplateProvider {
    /**
     * getattr方法 缩写
     */
    public Object g(String key) {
        return getattr(key);
    }

    /**
     * setattr方法 缩写
     */
    public void s(String key, Object value) {
        setattr(key, value);
    }

    /**
     * where 简写
     */
    public Object w(boolean istrue, Object trueObj, Object falseObj) {
        return where(istrue, trueObj, falseObj);
    }

    /**
     * print 缩写
     */
    public String p(Object o) {
        return print(o);
    }
}
  1. 提供默认分页控件。

freemaker

${pagehtml!} <script type="text/javascript"> //js分页回调 function pagerfunction(pageindex) { $("#${formid}").prepend(""); $("#${formid}").prepend(""); $("#${formid}").submit(); } </script> 
</#macro>

后台代码

new Pager1(pageindex,count).setPageSize(10).out();
  1. 支持.net mvc的写法。
/**
 * 扩展springboot 模拟.net mvc的写法
 * 需要继承 NetController
 */
public class NetMvcDemoController extends NetMvcController {
    public ActionResult index(Integer a,String b)
    {
        //分页控件实现说明
        new Pager1(1,20).setPageSize(10).out();
        return view();
    }

    public ActionResult index2()
    {
        List a = new ArrayList();
        return view("/netmvcdemo/index2",a);
    }

    public ActionResult json()
    {
        List a = new ArrayList();
        return json(a);
    }
}

原文 

https://gitee.com/chejiangyi/bsf.mvc

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 码云推荐 | SpringBoot 的扩展实现 bsf.mvc

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址