美文网首页
Spring13-Spring MVC参数绑定

Spring13-Spring MVC参数绑定

作者: 我相信你爱过gg | 来源:发表于2017-05-07 15:34 被阅读196次

从客户端请求 key/value 数据,经过参数绑定,将 key/value数据绑定到Handler方法的形参上.而不是在Handler类中定义成员变量.

默认支持的类型

springmvc中,有支持的默认类型的绑定。也就是说,直接在controller方法形参上定义默认类型的对象,就可以使用这些对象。

HttpServletRequest对象
HttpServletResponse对象
HttpSession对象
Model/ModelMap对象

简单类型参数进行绑定

要对简单类型参数进行绑定需要使用@RequestParam注解.如果不使用这个注解,那么你的request传入参数的名要与方法的参数名相同,才能绑定成功.


value表示你request传入的参数名.
required表示我这个参数是否必须要传,true默认值,如果为false则表示不是必须要传的.
defaultValue设置默认值,如果这个参数没有传入,就会取默认值.

绑定POJO


前台标签的name属性值就为Test类的属性名.

自定义参数绑定实现日期类型绑定

对于Handler形参中Pojo对象,如果属性中有日期类型,需要自定义参数绑定.
将请求日期数据传转换成日期类型,要转换的日期类型和pojo中的类型保持一致.
要实现自定义参数绑定,我们需要实现一个Converter接口

/**
 * Converter<String, Date>
 *     String 表示原类型
 *     Date   表示目标类型
 */
public class TestConverter implements Converter<String, Date> {
    @Override
    public Date convert(String source) {
        //转成日期类型的格式(yyyy-MM-dd HH:mm:ss)
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = null;
        try {
            date = simpleDateFormat.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
}

然后在配置Spring MVC的xml配置文件

    <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <property name="converters">
            <list>
                <bean class="cc.test.TestConverter"/>
            </list>
        </property>
    </bean>

相关文章

网友评论

      本文标题:Spring13-Spring MVC参数绑定

      本文链接:https://www.haomeiwen.com/subject/wpmutxtx.html