·软件知识库 ·模板素材库
注册 | 登录

您所在的位置: INDEX > ssh > spring mvc使用过程中关于spring:bind和绑定java.util.Date遇到的问题

spring mvc使用过程中关于spring:bind和绑定java.util.Date遇到的问题

许杰 Sun Jul 05 12:01:51 CST 2015 字号:

model类是这样的

public calss User{
       private CorpAddr corpAddr;
       private String name;
}

CorpAddr类是这样的

public class CorpAddr{
     private Date birthday; 
}

jsp form表单映射

<spring:bind path="user.name">
    <input type="text" name="name" />
</spring:bind>

这样绑定user.name属性是没问题的,但用同样的方式绑定user.corpAddr.birthday却绑定不上

<spring:bind path="user.corpAddr.birthday">
    <input type="text" name="birthday" />
</spring:bind>

这样绑定不上user.corpAddr.birthday属性,要使用下面的方式

<spring:bind path="user.corpAddr.birthday">
    <input type="text" name="<c:out value='${status.expression}'/>" value="<c:out value='${status.value'/>" />
</spring:bind>

这时候,提交到后台,却报了个异常,即spring mvc 表单映射日期型字段的问题。

类似这样的异常

解决方法

1.控制器继承 extends SimpleFormController

2.重写initBinder方法

 @InitBinder
  protected void initBinder(HttpServletRequest request,
            ServletRequestDataBinder binder) throws Exception {
        DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        CustomDateEditor dateEditor = new CustomDateEditor(fmt, true);
        binder.registerCustomEditor(Date.class, dateEditor);
        super.initBinder(request, binder);
    }

注意日期格式串与页面模式一致




『相关搜索』
版本信息:kms v1.3 鄂ICP备2023004815号-1 51LA统计