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"/>