本例介绍使用Converter转换器接口
public interface Converter<S,T>{
T convert(s source);
}
将s类型的对象转换为T类型的对象。
示例:将 userName:password:readName的字符串转化为User对象。
自定义转换器:
public class StringToUserConverter implements Converter<String,User>{ public User convert(String s) { User user=new User(); if(s!=null){ String[] items=s.split(":"); user.setUserName(items[0]); user.setPassword(items[1]); user.setRealName(items[2]); } return user; } }springmvc配置文件:
控制器:<!--装配自定义的ConversionService--> <mvc:annotation-driven conversion-service="conversionService"/> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <!--装配StringToUserConverter--> <bean class="com.smart.domain.StringToUserConverter"/> </set> </property> </bean>
@RequestMapping(path = "/handle81") public String handle81(@RequestParam("user") User user, ModelMap modelMap){ modelMap.put("user",user); return "/user/showUser"; }
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <head> <title>显示用户</title> </head> <body> <table> <tr> <td>${user.userName}</td> <td>${user.password}</td> <td>${user.realName}</td> </tr> </table> </body> </html>
http://localhost:8000/chapter17/user/handle81.html?user=tom:1234:tomson
tom | 1234 | tomson |