一尘不染

Spring MVC中的初始化绑定器的目的是什么

spring-mvc

这是互联网上用于初始化绑定程序的代码

@InitBinder
public void initBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}

谁能解释一下:

1)为什么要使用它,我的意思是,以前的问题是什么,如何使用该功能解决了它。所以我想知道用这种日期格式解决的原始日期有什么问题吗?

2)从JSP表单的角度来看,该如何使用这种格式,我的意思是,如果我们以文本格式输入日期,则它会隐式转换为特定格式然后保存吗?

3)我的意思是说,格式设置如何应用于对象类中?


阅读 304

收藏
2020-06-01

共1个答案

一尘不染

1)在此之前,您不得不手动解析日期:

 public void webmethod(@RequestParam("date") String strDate) {
    Date date = ... // manually parse the date
 }

现在,您可以直接获取解析日期:

 public void webmethod(@RequestParam("date") Date date) {
 }

2)如果jsp页面在表单上提供日期,则yyyy-MM-dd可以Date直接在控制器中将其作为对象检索。

3)Spring尝试对所有注册的编辑器进行检查,以查看是否可以将值转换为对象。您不必在对象本身中做任何事情,这就是它的美。

2020-06-01