zoukankan      html  css  js  c++  java
  • 使用springmvc从页面中获取数据,然后根据获得的参数信息进行修改,如果修改的数据中含有不是基本数据类型的参数。比如传的参数中有Date类型的数据时,需要我们进行参数类型转换。

    1.1 需求

      在商品修改页面可以修改商品的生产日期,并且根据业务需求自定义日期格式。

    1.2 需求分析

      由于日期数据有很多格式,所以springmvc没办法把字符串转换成日期类型。所以需要自定义参数绑定。前端控制器接收到请求后,找到注解形式的处理器适配器,对RequestMapping标记的方法进行适配,并对方法中的形参进行参数绑定。在springmvc这可以在处理器适配器上自定义Converter进行参数绑定。如果使用<mvc:annotation-driven/>可以在此标签上进行扩展。

    1.3 自定义Converter

    package com.huida.controller.convert;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.springframework.core.convert.converter.Converter;
    //全局的转换器
    public class CustomGlobalStrToDateConverter implements Converter<String, Date>{
    
        //将页面传过来的字符串转换为Date类型
        @Override
        public Date convert(String str) {
            
            Date date=null;
            //定义日期的格式器
            try {
                date=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(str);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return date;
        }
    }

    1.4 配置Converter

       因为转换器是控制层要进行的操作,所以我们需要将配置配置到SpringMvc.xml中。

        <!-- 转换器配置 
            注意:一定要将自定义的转换器配置到注解驱动上
        -->
        <bean id="conversionService"
            class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
            <property name="converters">
                <set>
                    <bean class="com.huida.controller.convert.CustomGlobalStrToDateConverter"/>
                </set>
            </property>
        </bean>

      注意:一定要将自定义的转换器配置到注解驱动上。

    <mvc:annotation-driven conversion-service="conversionService"/>
  • 相关阅读:
    AJAX 三级联动
    AJAX JSON类型返回
    AJAX 汽车详细信息练习
    JQ AJAX
    对话框关联两个Layout时
    删除,拨打电话,发送短信对话框
    自定义对话框,时间日期对话框
    一般对话框,单选复选对话框
    JAVA。String转Int
    加监听器,单选复选按钮
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10181369.html
Copyright © 2011-2022 走看看