spring-springmvc-mybatis整合笔记(6)——简单参数绑定

一 简单类型的绑定

在上文中可以看到Controller方法中出现了参数,那么Controller方法对于接受的参数有什么要求呢?

1 默认参数

  • HttpServletRequest
  • HttpServletResponse
  • Model/ModelMap
  • HttpSession 

2 简单参数

要求request传入参数名称和Controller方法的形参名称一致,才可以绑定成功。但是可以使用@RequestParam,不用限制Request传入参数与形参名称一致。

还可以通过required属性设置是否必须传入参数。

@RequestMapping(value="/editItems",method={RequestMethod.POST,RequestMethod.GET})
//@RequestParam里边指定request传入参数名称和形参进行绑定。
//通过required属性指定参数是否必须要传入
//通过defaultValue可以设置默认值,如果id参数没有传入,将默认值和形参绑定。
public String editItems(Model model,@RequestParam(value="id",required=true) Integer items_id)throws Exception

3 pojo绑定

要求request中的参数名称与pojo中的属性名称一致。

4 日期参数绑定

如果pojo中有日期,那么就需要自定义转换器来实现参数的转换。在pojo中的属性日期是什么类型,就需要修改为什么类型,在这里例子中,是java.util.date。

我们需要在处理器适配器中加入转换器的绑定组件。首先,我们需要自定义一个日期转换器:

public class CustomDateConverter implements Converter<String,Date>{
    public Date convert(String s) {
        //实现 将日期串转成日期类型(格式是yyyy-MM-dd HH:mm:ss)

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        try {
            //转成直接返回
            return simpleDateFormat.parse(s);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //如果参数绑定失败返回null
        return null;

    }
}

然后在springmvc.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="com.iot.learnssm.firstssm.controller.converter.CustomDateConverter"/>
           </list>
        </property>
    </bean>


猜你喜欢

转载自blog.csdn.net/lpckr94/article/details/80956988