自动类型转换
SpringMVC 对基本数据类型提供了自动的类型转换
如:请求参数传入“100”字符串,我们实体类中需要的是 Integer 类型,那么 SpringMVC 会自动将字符串转换为 Integer 类型注入实体类。
日期和数值类型转换
注解设定数据格式
SpringMVC提供了一些注解,可以让我们进行一些手动类型转换
DateTimeFormat注解:可以对日期时间类型进行转换
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date productDate;
NumberFormat注解:可以对数值类型进行转换
@NumberFormat(pattern = "###,###,###.###")
private Double productPrice;
自定义类型转换器
创建实体类,视图类里面包含存储的表单对应的值
编写自定义类型转换器:
-
- 写一个类实现Converter接口
-
- 重写convert方法进行转换
-
- 在springmvc的配置文件中配置类型转换器
实现接口:org.springframework.core.convert.converter.Converter<S,T>
泛型 S:源类型(本例中是 String 类型)
泛型 T:目标类型(本例中是 Address 类型)
然后在springmvc里面配置注册类型的转换器
<!-- 在 mvc:annotation-driven 中注册 FormattingConversionServiceFactoryBean -->
<mvc:annotation-driven conversion-service="formattingConversionService"/>
<!-- 在 FormattingConversionServiceFactoryBean 中注册自定义类型转换器 -->
<bean id="formattingConversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<!-- 在 converters 属性中指定自定义类型转换器 -->
<property name="converters">
<set>
<bean class="com.wwb.mvc.converter.AddressConverter"/>
</set>
</property>
</bean>