zoukankan      html  css  js  c++  java
  • springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用

    关于springmvc日期问题的解决方式 除了本博客的【springMVC 前后台日期格式传值解决方式之 @DateTimeFormat的使用和配置】一文,

    还有如下这种方式:

    在Controller里加上这段代码:

     1     @InitBinder
     2     public void initBinder(ServletRequestDataBinder binder) {
     3         /**
     4          * 自动转换日期类型的字段格式
     5          */
     6         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     7         binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
     8 
     9         
    10     }

    注意,如果前台有多重日期格式,写成类似下面的方式是没有什么卵用的

     1     @InitBinder
     2     public void initBinder(ServletRequestDataBinder binder) {
     3         /**
     4          * 自动转换日期类型的字段格式
     5          */
     6         SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
     7         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月");
     8         try {
     9             binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf2, true));
    10         }catch(Exception e) {
    11             binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf1, true));
    12         }
    13         
    14     }

    怎么解决呢?

    可参考这个问题:http://bbs.csdn.net/topics/380055180

    原文内容如下

    ----------------------------------------------------------分界线开始-----------------------------------------------------------

    配置文件为

    1
    2
    3
    4
    5
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="webBindingInitializer">  
            <bean class="xx.xxx.MyBindingInitializer"/>  
        </property>  
    </bean



    MyBindingInitializer中,initBinder方法里的
    binder.registerCustomEditor(Date.class, new XXXEditor());


    在XXXEditor的setAsText方法中,使用系统所有可能用到的format格式一一尝试,捕获异常,最后正确绑定。

    -------------------------------------------------------分界线结束----------------------------------------------------------------

    至于其中的XXXEditor怎么写,大家可以参照例子中的CustomDateEditor,即:org.springframework.beans.propertyeditors.CustomDateEditor源码中怎么写的。


  • 相关阅读:
    [Android Pro] 小心ReleaseByteArrayElements 中的参数问题
    [Android Pro] linux下查看一个文件的属性(ls,lsattr,file,stat)
    [Android Pro] root用户删除文件提示:Operation not permitted
    [Android Pro] adb 进入 recovery, adb 进入 bootloader
    [Android Pro] Android API 23中废弃了HttpClient的解决办法
    [Android Rro] SDK JAR
    [Android Pro] Android下toolbox简介
    [Android Pro] static 和 Volatile 的区别
    [Android Pro] DES加密 version1
    [Android Pro] AES加密
  • 原文地址:https://www.cnblogs.com/flying607/p/4691714.html
Copyright © 2011-2022 走看看