SpringMVC-自定义类型转换器

  • 1.为什么要自定义类型转换器?
    • 2.如何定义自定义类型转换器

1.为什么要自定义类型转换器?

首先要知道我们在页面中提交的数据都是字符串类型,比如年龄,用户名,密码等;
在springMVC中,为了接受前端的参数,给我们提供了一种简便方式,就是可以用javaBean对象来接收参数
前提是javaBean中的属性名要和页面中的提交的名字相同

<input type="text" name="username">
<input type="text" name="age">

那么在javaBean中对应的属性名就必须是username;
注意这里的属性其实是对应的成员变量的set方法名,去掉set,然后首字母小写
即属性==setUsename–>Username–>username

class User{private String username;private Integer age;public void setUsername(String username){this.username= username}......
}

之后就会把页面传入的参数通过set方法赋值给成员变量
不过,这里成员变量age是Integer类型的?
然而传入的是字符串?是怎样赋值的呢?不会报错吗?

其实这里不用担心,springMVC已经给我们把传入的数据进转换(通过默认的转换器)为对应的类型;

不过当我们的类型是Date日期类型时,SpringMVC就不太友好了;他规定了我们传入的日期类型的格式,比如写2020/11/1可以成功,但是我们写2020-11-1就会报错;

因此针对这一点,我们需要自己写一个转换器来解决这一问题!!

2.如何定义自定义类型转换器

1.首先我们需要自定义一个类实现Converter<S,T>接口
(注意不要导错包!!)

public class MyConverter implements Converter<String, Date>{/** s:指的是传进来的值* */@Overridepublic Date convert(String s) {if (s == null) {throw new RuntimeException("请您传入数据..");}DateFormat df = new SimpleDateFormat("yyyy-MM-dd");try {return df.parse(s);} catch (ParseException e) {throw new RuntimeException("数据类型转换错误..");}}
}

2.然后在springMVC.xml配置文件中配置自定义类型转换器

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters" ><set><bean class="com.jw.Converter.MyConverter"></bean></set></property></bean>

这一步是在ConversionServiceFactoryBean组件中加上自己定义的转换器;

接下来在mvc名称空间中声明即可:

 <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>

这样自定义类型转换器就ok了,你自己写的转换器会加在springMVC默认的转换器之中,也就是现在日期可以支持你定义的那种格式了

SpringMVC-自定义类型转换器相关推荐

  1. springMVC 自定义类型转换器

    DateLocalConvertor 这里我们起名 package com.itheima.convertor;import org.springframework.core.convert.conv ...

  2. springmvc二十一:自定义类型转换器

    ConversionService:是一个接口; 它里面有一个Converter(转换器)进行工作 ①实现一个Converter接口,写一个自定义的类型转换器 ②Converter是Conversio ...

  3. SpringMVC框架----SpringMVC的自定义类型转换器

    上一段我们介绍了请求参数的绑定 SpringMVC请求参数的绑定 在请求参数绑定的时候,有时候会遇到一些问题,如自定义类型转换器异常 1.自定义类型转换器演示异常 现在有一个页面,想给服务器提交数据, ...

  4. SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器

    目录 配置全局乱码过滤器 参数绑定注解@RequestParam 注解@RequestParam的参数使用说明 获得Restful风格的参数 自定义类型转换器 自定义转换器的开发步骤: 获得Servl ...

  5. ​ SpringMVC表单请求参数的绑定,配置编码过滤器解决请求参数中文乱码问题,自定义类型转换器

    文章目录 ​ SpringMVC的参数绑定支持的数据类型 基本数据类型和字符串类型 JavaBean 包装类 Map类型 List类型 POST请求参数中文乱码的解决方法 自定义类型转换器(Date类 ...

  6. 自定义类型转换器代码编写

    package com.learn.utils;import org.springframework.core.convert.converter.Converter;import java.text ...

  7. 解决中文乱码和自定义类型转换器

    一.解决maven项目创建过慢的问题: archetypeCatalog       internal 二.解决参数中文乱码的解决 在web.xml中配置Spring提供的过滤器类 <!--配置 ...

  8. Springmvc之类型转换器

    Springmvc之类型转换器 一.概述 在我们写的程序中,表单提交的无论是 int 还是 double 类型的请求参数,用于处理该请求 的处理器方法的形参,均可直接接收到相应类型的相应数据,而非接收 ...

  9. java自定义类型转换器

    springMVC中有一些内置的数据类型转换器(内置转换器全都在: org.springframework.core.convert.support 包 下),可以从前端请求到服务器的自动转换. 部分 ...

  10. SpringMVC-应用(数据绑定-自定义类型转换器,数据的格式化,数据校验)

    一.提出问题 SpringMVC封装自定义类型对象的时候,JavaBean要和页面提交的数据一一绑定.下面要知道: 1)页面提交的数据都是字符串 2)JavaBean中的属性如:Integer age ...

最新文章

  1. php中的网页漂浮代码,JavaScript_Javascript实现带关闭按钮的网页漂浮广告代码,复制代码 代码如下: html - phpStudy...
  2. java 为什么重写equals一定要重写hashcode?
  3. 思科路由器怎么安装?
  4. 苹果怎么换行打字_停课不停学!推荐苹果电脑学习类软件,丰富您的假期生活...
  5. Flexslider图片轮播、文字图片相结合滑动切换效果
  6. 基于RNN和CTC的语音识别模型,探索语境偏移解决之道
  7. python map函数_Python map()函数
  8. ef core中使用code first
  9. MySQl 安装失败 Starting Server启动失败,发生系统错误 1067, 进程意外终止. 解决方法...
  10. windows下文件路径太深,无法删除解决办法
  11. 番茄花园GhostXP sp3快速装机版2012.03
  12. VC++即时通+视频会议源码
  13. QQ互联一直显示“未提交审核”
  14. Windows查找文件内容
  15. JSP:JavaBean+EL函数+JSTL标签
  16. 班主任直接把奖学金名额给了我?就因为我用Python给她写了一个自动阅卷脚本
  17. element上传图片的时候额外参数
  18. 玲珑杯”ACM比赛 Round #8-D XJT Loves Boggle(dfs)
  19. web前端零基础html5
  20. SuperData最新报告:2017年VR硬件营收将达到36亿美元

热门文章

  1. windows桌面程序开发
  2. 数电学习(十一、D/A和A/D转换)
  3. Android LayoutInflater深度解析
  4. Android零基础开发到项目实战
  5. 在idea中完成创建maven工程,搭建MVC框架并完成和servlet相似的操作
  6. 虚拟机云服务器6.0教程pdf,虚拟机云服务器6.0教程pdf
  7. SQL基本语句应用大全
  8. autojs查找透明图
  9. 在有无缓冲层镊酸锏(LaNiO3,LNO)的 Pt/Ti/SiO-/Si(111)基片上沉积了单层BFO多晶薄膜
  10. Java编程之三角形图案