我是靠谱客的博主 默默钥匙,最近开发中收集的这篇文章主要介绍SpringMVC数据类型转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在以往我们需要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]

最后

以上就是默默钥匙为你收集整理的SpringMVC数据类型转换的全部内容,希望文章能够帮你解决SpringMVC数据类型转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部