首页 > 其他分享 >【开源】 bsf.mvc spingboot的扩展

【开源】 bsf.mvc spingboot的扩展

时间:2022-11-11 15:00:59浏览次数:40  
标签:return spingboot freemarker Object mvc new bsf public


1. 自动requestmapping(无需配置)实现。 2. freemarker java扩展实现,使freemarker更加便于使用。 3. request 参数大小写兼容实现,传入参数不再区分大小写。 date日期参数兼容,支持对象绑定对public字段的自动映射。 4. url 大小写兼容,不敏感。 5. 提供默认分页控件。 6. 支持.net mvc的写法。

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



1. 自动requestmapping(无需配置)实现。
2. freemarker java扩展实现,使freemarker更加便于使用。
3. request 参数大小写兼容实现,传入参数不再区分大小写。
date日期参数兼容,支持对象绑定对public字段的自动映射。
4. url 大小写兼容,不敏感。
5. 提供默认分页控件。
6. 支持.net mvc的写法。
1. 自动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
2. 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);
}
}

5. 提供默认分页控件。

freemaker

<#macro _pager formid="searchForm">
${pagehtml!}
<script type="text/javascript">
  //js分页回调
function pagerfunction(pageindex) {
$("#${formid}").prepend("<input type='hidden' name='pageindex' value='"+pageindex+"'/>");
$("#${formid}").prepend("<input type='hidden' name='pagesize' value='"+'${pagesize!}'+"'/>");
$("#${formid}").submit();
}
</script>
</#macro>

 后台代码

new Pager1(pageindex,count).setPageSize(10).out();
6. 支持.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<String>();
return view("/netmvcdemo/index2",a);
}

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

 

开源是一种态度,分享是一种精神,学习仍需坚持,进步仍需努力,.net生态圈因你我更加美好。



标签:return,spingboot,freemarker,Object,mvc,new,bsf,public
From: https://blog.51cto.com/chejiangyi/5844887

相关文章

  • 【开源】.Net Aop(静态织入)框架 BSF.Aop
    【开源】.Net免费开源,静态Aop织入(直接修改IL中间语言)框架,类似PostSharp(收费);实现前后Aop切面和INotifyPropertyChanged注入方式,性能接近原生编码方式......
  • 【SpringMVC(三)】 HandlerAdapter
    HandlerAdapter在springmvc中是一个十分重要的角色。作用如下:1.负责直接调用控制器来处理请求;2.负责在调用控制器的前定制化处理request以及在调用后定制化处理response;3.隐......
  • 【spring mvc (三)】spring 容器
    1.spring容器的作用:spring容器本质是一个上下文,是我们编写的应用的环境。为什么要使用这个上下文?传统上我们写a调用b的f方法肯定是在a类的方法中new一个b的对象,在用b的f方法......
  • 【spring mvc(一)】初识spring mvc——环境搭建
    spring和struts是J2EE的两个主流框架。下面介绍spring3.0的springmvc搭建方式。1.下载jar包   这里包括两种类型的jar包,一个是spring3.0的包,另一个是叫做commons-l......
  • 8:Spring MVC-Java Spring
    目录​​8.1WEB开发模式一​​​​8.2WEB开发模式二​​​​8.3SpringMVC介绍​​​​8.4SpringMVC主要组件​​​​8.5SpringMVC处理流程​​​​8.6SpringMVC的......
  • MVC和MVVM
    MVC、MVVM模式的概念与区别1.MVC框架MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显......
  • Spring MVC工作 执行流程详解
    SpringMVC执行流程用户点击某个请求路径,发起一个HTTPrequest请求,该请求会被提交到DispatcherServlet(前端控制器)由DispatcherServlet请求一个或多个HandlerMapping(......
  • MySQL-InnoDB的MVCC
     InnoDBMVCCInnoDB的MVCC,其实是通过undolog来实现的,可以理解为是通过在每行记录后面保存两个隐藏的列来实现的,分别保存了这个行的创建时间,一个保......
  • SpringMVC的单文件上传,多文件上传和下载文件(十二)
    你未看此花时,则此花与汝心同归于寂,你来看此花时,此花颜色一时明白起来,便知此花不在你的心外。上一章简单介绍了SpringMVC的数据验证和JSR303国际化显示(十一),如果没有看......
  • spring mvc 请求异步处理,即时响应
    springmvc的controller,对于一个非常耗时的处理,让controller先异步返回响应给前端,后台继续慢慢执行完。@RequestMapping(value="refreshScore.do",method=Reque......