SpringMVC自定义类型转换器!!!
- 开源代码
- 2025-08-06 10:33:02

使用场景
在index.jsp里面添加日期类型
<form action="account/saveAccount" method="post"> 账户名称:<input type="text" name="name"><br/> 账户金额:<input type="text" name="money"><br/> 账户省份:<input type="text" name="address.provinceName"><br/> 账户城市:<input type="text" name="address.cityName"><br/> 开户日期:<input type="text" name="date"><br/> <input type="submit" value="保存"> </form>在pojo里面添加日期类型
public class Account implements Serializable { private Integer id; private String name; private Float money; private Address address; //添加日期类型 private Date date; //省略get set toString方法 }测试
原因:我们前台传递的是字符串类型的参数,但是后台使用的是Date类型接收的。我们期望springmvc可以帮我们做数据类型的自动转换,显然没有做,所以我们需要自己自定义类型转换器。
解决方案:
定义一个类,实现Converter接口
public class DateConverter implements Converter<String, Date> { @Override public Date convert(String source) { try { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); return format.parse(source); } catch (Exception e) { e.printStackTrace(); } return null; } }在 springmvc.xml配置文件中配置类型转换器
<!--开启springmvc注解支持--> <mvc:annotation-driven conversion-service="cs"></mvc:annotation-driven> <!-- 配置类型转换器工厂 --> <bean id="cs" class="org.springframework.context.support.ConversionServiceFactoryBean"> <!-- 给工厂注入一个新的类型转换器 --> <property name="converters"> <set> <!-- 配置自定义类型转换器 --> <bean class="com.by.converter.DateConverter"></bean> </set> </property> </bean>
SpringMVC自定义类型转换器!!!由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“SpringMVC自定义类型转换器!!!”