SpringMVC数据类型转换
来源:互联网 发布:如何做小吃生意知乎 编辑:程序博客网 时间:2024/06/11 00:56
在以往我们需要SpringMVC为我们自动进行类型转换的时候都是用的PropertyEditor。通过PropertyEditor的setAsText()方法我们可以实现字符串向特定类型的转换。但是这里有一个限制是它只支持从String类型转为其他类型。在Spring3中引入了一个Converter接口,它支持从一个Object转为另一个Object。除了Converter接口之外,实现ConverterFactory接口和GenericConverter接口也可以实现我们自己的类型转换逻辑。
1.自定义类型转换器实现Converter接口,如果输入的值是user的话,将String类型转换为User。
import org.springframework.core.convert.converter.Converter;import org.springmvc.entity.User;public class UserConverter implements Converter<String, User> {public User convert(String str) {if(str != null){User user = new User();if(str.equals("user")){user.setId(10);user.setUsername("lisi");user.setPasssword("123456");user.setEmail("asd.huawei.com");user.setAge(18);}return user;}return null;}}
2.在springmvc配置文件中配置ConverterService
<mvc:annotation-driven conversion-service="conversionService"/><!-- 自定义类型转换器 --><bean id="userConverter" class="org.springmvc.converter.UserConverter"></bean><!--配置ConversionService --><bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters"><set><ref bean="userConverter"/></set></property></bean>
jsp代码:
<form action="testConverter" method="post">user:<input type="text" name="user" value="user"/><input type="submit" value="submit"/></form>
controller:
@RequestMapping("testConverter")public String testConverter(User user){System.out.println(user);return "success";}
结果:
User [id=10, username=lisi, passsword=123456, age=18, email=asd.huawei.com]
0 0
- SpringMVC数据类型转换
- SpringMVC数据类型转换
- SpringMVC数据类型转换和格式化
- springmvc——数据类型转换
- Spring MVC学习(七)-------SpringMVC数据类型转换
- Spring MVC学习(七)-------SpringMVC数据类型转换
- SpringMVC视图解析器与数据类型转换
- 【SpringMVC】数据类型转换以及Spring编码过滤器
- springMVC学习笔记四(数据类型转换和数据验证)
- SpringMVC之数据类型的转换及自定义类型转换器
- 第七章 注解式控制器的数据验证、类型转换及格式化 SpringMVC数据类型转换
- SpringMVC数据类型转换—— 注解式控制器的数据验证、类型转换及格式化
- 第七章 SpringMVC数据类型转换—注解式控制器的数据验证、类型转换及格式化
- 第七章 注解式控制器的数据验证、类型转换及格式化--SpringMVC数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- Atitit 数据库表文档生成解决方案
- struts知识了解
- 设计模式
- 1、并发编程的艺术
- PYTHON 中 ITERATOR(迭代器)和ITERABLE(可迭代)的区别
- SpringMVC数据类型转换
- dataBinding 理解
- Component & Element & ReactClass
- ubuntu 修改txt文件编码方式(iconv)
- keil中常见的几种警告
- c语言实现二叉查找树
- 学习笔记整理——用户,属组以及密码相关
- Hibernate中英文查询成功中文查询失败
- git log 误删找回