zoukankan      html  css  js  c++  java
  • spring mvc使用过程中关于spring:bind和绑定java.util.Date遇到的问题

    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 表单映射日期型字段的问题

    类似这样的异常

    Failed to convert property value of type [java.lang.String] to required type [java.util.Date] for property 'expert.birthdate'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'birthdate': no matching editors or conversion strategy found 

    解决的方法是:

    解决方法
    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);
        }

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

    好了,希望对你有用!

  • 相关阅读:
    Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示
    window 下Qt for android 环境搭建
    vim 编辑器的设置
    用户登录案例 展示 三层架构
    简单的SqlHelper
    利用webclient ftpclient上传下载文件
    绑定省市到treeview 递归加载 递归删除
    MD5 文件和字符传加密
    MVC4 EF5.0 实现异步删除和修改 easyui
    MVC中应用ajax的两种方式
  • 原文地址:https://www.cnblogs.com/dingchenghong/p/2641715.html
Copyright © 2011-2022 走看看