自定义类型转换器

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

举例示范

jsp表单
在这里插入图片描述
Controller中对应的方法
在这里插入图片描述
如果我们的日期格式按照如下写的话
在这里插入图片描述
点击提交后控制台打印成功在这里插入图片描述
但是如果我们生日输入的格式改变的话在这里插入图片描述
再次点击提交之后
在这里插入图片描述
报错了,这就是因为springMVC并不能帮我们把我们输入的任意格式的日期都转换成data类型

如何创建类型转换器

步骤

  1. 定义一个类,实现Converter接口,该接口有两个泛型,Converter<S, T>,S表示的是源数据类型、T表示的是要将源数据转换为什么类型(从浏览器获取到的数据都是String类型的)在这里插入图片描述
  2. 配置自定义类型转换器,并且将我们写的转换类进行注册,我们需要使用ConversionServiceFactoryBean类来注册转换器,该类中有一个converters属性,该属性用于注入我们自己写的转换器,converters属性是Set类型的在这里插入图片描述
    在这里插入图片描述
  3. 使类型转换期生效在这里插入图片描述

此时当我们配置完自定义类型转换器之后,我们重新部署服务器,然后在这里插入图片描述
点击提交,在这里插入图片描述
控制台得到正确的结果
在这里插入图片描述

posted @ 2021-01-23 12:01  谢海川  阅读(69)  评论(0)    收藏  举报