自定义类型转换器
从页面上提交的任何类型的数据都是字符串类型的,但是我们接收参数的时候,直接就用了包装类、int类型来接受,这是因为springMVC帮我们转换了大部分的数据类型,但是毕竟他也不能保证把我们的数据全部转换。我们为了解决这样的问题才需要自己定义类型转换器的
举例示范
jsp表单

Controller中对应的方法

如果我们的日期格式按照如下写的话

点击提交后控制台打印成功
但是如果我们生日输入的格式改变的话
再次点击提交之后

报错了,这就是因为springMVC并不能帮我们把我们输入的任意格式的日期都转换成data类型
如何创建类型转换器
步骤
- 定义一个类,实现Converter接口,该接口有两个泛型,
Converter<S, T>,S表示的是源数据类型、T表示的是要将源数据转换为什么类型(从浏览器获取到的数据都是String类型的)![在这里插入图片描述]()
- 配置自定义类型转换器,并且将我们写的转换类进行注册,我们需要使用ConversionServiceFactoryBean类来注册转换器,该类中有一个converters属性,该属性用于注入我们自己写的转换器,converters属性是Set类型的
![在这里插入图片描述]()
![在这里插入图片描述]()
- 使类型转换期生效
![在这里插入图片描述]()
此时当我们配置完自定义类型转换器之后,我们重新部署服务器,然后
点击提交,
控制台得到正确的结果






浙公网安备 33010602011771号