• springmvc date


    数据格式化,从本质上讲属于数据转换的范畴。Spring就是基于数据转换框架植入“格式化”功能的。
    在数据转换时我们进行了如下配置:
    我们使用的是ConversionServiceFactoryBean,而进行数据格式化时,只是将ConversionServiceFactoryBean改为FormattingConversionServiceFactoryBean即可,其他没有变化,如下是数据格式化的配置:

    关于FormattingConversionServiceFactoryBean与ConversionServiceFactoryBean的比较:
    • ConversionService:只有数据转换功能;
    • ConversionServiceFactoryBean:与ConversionService对应;

    • FormattingConversionService:具有数据转换和数据格式化功能;
    • FormattingConversionServiceFactoryBean:与FormattingConversionService对应;可以注册自定义的转换器,又可以注册自定义的注解驱动器逻辑。

    <mvc:annotation-driven/>标签内部默认创建的conversionService实例就是一个FormattingConversionServiceFactoryBean;
    装配完FormattingConversionServiceFactoryBean后,Spring MVC对处理方法的入参绑定就支持注解驱动的功能了。
     

    2. 具体实现


    步骤1:配置FormattingConversionServiceFactoryBean

    1. <mvc:annotation-driven conversion-service="conversionService"/>
    2. <bean id="conversionService"
    3. class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    4. <property name="converters">
    5. <list>
    6. <!-- <bean class="com.ll.model.StringToPersonConverter" /> -->
    7. </list>
    8. </property>
    9. </bean>

    步骤2:使用@DateTimeFormat和@NumberFormat注解对象属性


    步骤3:控制层


    步骤4:前台请求

     

    3. 简单介绍@DateTimeFormat与@NumberFormat


     
     
     
     
     
     
     
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    一、后台日期类型解析到前端

    1.在springmvc的配置文件中添加这个.annotation-driven在配置文件中只配置一次     (此方法全局作用)
    <mvc:annotation-driven>
    <mvc:message-converters>
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    <property name="objectMapper">
    <bean class="com.fasterxml.jackson.databind.ObjectMapper">
    <property name="dateFormat">
    <bean class="java.text.SimpleDateFormat">
    <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
    </bean>
    </property>
    </bean>
    </property>
    </bean>
    </mvc:message-converters>
    </mvc:annotation-driven>

    2.直接在字段上写上  
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT-8")
    private Date inputtime;

    二、前端日期类型传到后台

    1.在Controller类中添加这个方法      (此方法全局作用)
    @InitBinder
    public void initBinder(WebDataBinder binder){
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf.setLenient(false);
    binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
    }


    2.直接在字段上添加
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date beginDate;

    第三种:https://blog.csdn.net/u012410733/article/details/72773095

  • 相关阅读:
    iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
    携程App的网络性能优化实践
    iOS: NSObject中执行Selector的相关方法
    去空格 whitespaceAndNewlineCharacterSet
    iOS UIButton 设置图片文字垂直排列
    程序启动的完整过程
    iOS:友盟SDK第三方登录 分享及友盟统计的使用
    ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法
    判断uiscrollView滑到底部
    ios模拟器键盘不弹出
  • 原文地址:https://www.cnblogs.com/yelongsan/p/10271833.html
Copyright © 2020-2023  润新知