Spring mvc数据转换

来源:互联网 发布:mysql 调用储存过程 编辑:程序博客网 时间:2024/05/14 04:53

本例介绍使用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

tom1234tomson