SpringMVC-自定义类型转换器
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-自定义类型转换器相关推荐
- springMVC 自定义类型转换器
DateLocalConvertor 这里我们起名 package com.itheima.convertor;import org.springframework.core.convert.conv ...
- springmvc二十一:自定义类型转换器
ConversionService:是一个接口; 它里面有一个Converter(转换器)进行工作 ①实现一个Converter接口,写一个自定义的类型转换器 ②Converter是Conversio ...
- SpringMVC框架----SpringMVC的自定义类型转换器
上一段我们介绍了请求参数的绑定 SpringMVC请求参数的绑定 在请求参数绑定的时候,有时候会遇到一些问题,如自定义类型转换器异常 1.自定义类型转换器演示异常 现在有一个页面,想给服务器提交数据, ...
- SpringMVC全局乱码过滤器、注解@RequestParam、自定义类型转换器
目录 配置全局乱码过滤器 参数绑定注解@RequestParam 注解@RequestParam的参数使用说明 获得Restful风格的参数 自定义类型转换器 自定义转换器的开发步骤: 获得Servl ...
- SpringMVC表单请求参数的绑定,配置编码过滤器解决请求参数中文乱码问题,自定义类型转换器
文章目录 SpringMVC的参数绑定支持的数据类型 基本数据类型和字符串类型 JavaBean 包装类 Map类型 List类型 POST请求参数中文乱码的解决方法 自定义类型转换器(Date类 ...
- 自定义类型转换器代码编写
package com.learn.utils;import org.springframework.core.convert.converter.Converter;import java.text ...
- 解决中文乱码和自定义类型转换器
一.解决maven项目创建过慢的问题: archetypeCatalog internal 二.解决参数中文乱码的解决 在web.xml中配置Spring提供的过滤器类 <!--配置 ...
- Springmvc之类型转换器
Springmvc之类型转换器 一.概述 在我们写的程序中,表单提交的无论是 int 还是 double 类型的请求参数,用于处理该请求 的处理器方法的形参,均可直接接收到相应类型的相应数据,而非接收 ...
- java自定义类型转换器
springMVC中有一些内置的数据类型转换器(内置转换器全都在: org.springframework.core.convert.support 包 下),可以从前端请求到服务器的自动转换. 部分 ...
- SpringMVC-应用(数据绑定-自定义类型转换器,数据的格式化,数据校验)
一.提出问题 SpringMVC封装自定义类型对象的时候,JavaBean要和页面提交的数据一一绑定.下面要知道: 1)页面提交的数据都是字符串 2)JavaBean中的属性如:Integer age ...
最新文章
- php中的网页漂浮代码,JavaScript_Javascript实现带关闭按钮的网页漂浮广告代码,复制代码 代码如下: html - phpStudy...
- java 为什么重写equals一定要重写hashcode?
- 思科路由器怎么安装?
- 苹果怎么换行打字_停课不停学!推荐苹果电脑学习类软件,丰富您的假期生活...
- Flexslider图片轮播、文字图片相结合滑动切换效果
- 基于RNN和CTC的语音识别模型,探索语境偏移解决之道
- python map函数_Python map()函数
- ef core中使用code first
- MySQl 安装失败 Starting Server启动失败,发生系统错误 1067, 进程意外终止. 解决方法...
- windows下文件路径太深,无法删除解决办法
- 番茄花园GhostXP sp3快速装机版2012.03
- VC++即时通+视频会议源码
- QQ互联一直显示“未提交审核”
- Windows查找文件内容
- JSP:JavaBean+EL函数+JSTL标签
- 班主任直接把奖学金名额给了我?就因为我用Python给她写了一个自动阅卷脚本
- element上传图片的时候额外参数
- 玲珑杯”ACM比赛 Round #8-D XJT Loves Boggle(dfs)
- web前端零基础html5
- SuperData最新报告:2017年VR硬件营收将达到36亿美元
热门文章
- windows桌面程序开发
- 数电学习(十一、D/A和A/D转换)
- Android LayoutInflater深度解析
- Android零基础开发到项目实战
- 在idea中完成创建maven工程,搭建MVC框架并完成和servlet相似的操作
- 虚拟机云服务器6.0教程pdf,虚拟机云服务器6.0教程pdf
- SQL基本语句应用大全
- autojs查找透明图
- 在有无缓冲层镊酸锏(LaNiO3,LNO)的 Pt/Ti/SiO-/Si(111)基片上沉积了单层BFO多晶薄膜
- Java编程之三角形图案