SpringMVC 自定义类型转换
2020-01-31 16:02:53来源:博客园 阅读 ()
SpringMVC 自定义类型转换
类型转换可以将请求参数转换为指定的类型、指定的格式(数据的格式化),然后传给业务方法的参数。
Spring MVC内置了常用的类型转换器。如果内置的类型转换器满足不了需求,可以使用自定义的类型转换。
自定义类型转换有2种方式:
- 使用Converter
- 使用Formatter
Converter方式
(1)新建包com.chy.converter,包下新建类DateConverter,作为自定义的类型转换器
// 需要实现Converter接口,<原始类型,目标类型> public class DateConverter implements Converter<String, Date> { //参数是请求参数中的原始数据,返回值是转换好的数据(目标类型) @Override public Date convert(String source) { // 经过一些操作,将原始类型的数据,转换为目标类型的数据并返回 // ...... } }
(2)在spring mvc的配置中添加:
<!--配置ConversionService--> <bean name="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <!--使用集合传入自定义的converter--> <property name="converters"> <set> <!--一个bean对应一个类型转换器--> <bean class="com.chy.com.chy.converter.DateConverter" /> </set> </property> </bean> <!--指定要使用的ConversionService--> <mvc:annotation-driven conversion-service="conversionService" />
Formatter方式
(1)新建包com.chy.converter,包下新建类DateFormatter
// 需要实现Converter接口,<目标类型> public class DateConverter implements Formatter<Date> { //parse()是转换,将原始类型转换为目标类型,参数是原始类型(String) @Override public Date parse(String source, Locale locale) throws ParseException { } //print()是格式化输出,将目标类型转换为指定格式的字符串,参数是parse()转换好的目标类型 @Override public String print(Date date, Locale locale) { } }
Formatter的类型转换、数据格式化是分开的,写在2个方法里。
(2)在spring mvc的配置中添加:
<!--配置ConversionService--> <bean name="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <!--使用集合传入自定义的formatter--> <property name="formatters"> <set> <!--一个bean对应一个formatter--> <bean class="com.chy.com.chy.converter.DateConverter" /> </set> </property> </bean> <!--指定要使用的ConversionService--> <mvc:annotation-driven conversion-service="conversionService" />
踩过的坑:
xmlns:mvc="http://www.springframework.org/schema/cache"
IDEA自动导入的约束不对,将cache改为mvc,xsi中对应的部分也要改。
原文链接:https://www.cnblogs.com/chy18883701161/p/12245276.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- springboot2配置JavaMelody与springMVC配置JavaMelody 2020-06-11
- switch循环所支持的数据类型 2020-06-07
- java基本数据类型 2020-06-06
- JAVA自定义注解 2020-06-01
- 笑看女程序员征婚SQL,半夜巡逻民警突然对我大喊int类型占几 2020-05-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash