spring mvc 参数绑定

1、默认支持类型

a、HttpServletRequest

b、HttpServletResponse

c、HttpSession

e、Model/ModelMap

      model是接口,modelmap是接口实现。将model数据填充到request域

 

2、简单类型

a、直接在controller上加上形参

 

 

这种方式,链接中可以不传入定义的参数或为空,不会报错。如果要正常使用,则请求过来的参数,必须与形参名一致。

 

b、使用@RequestParam

 

 

 

 

3、pojo类型

对应表单提交

 

请求过来的的参数和pojo类型要一致。

如input标签的name=”username”与User的字段username一致。

测试准备

 

 

-------controller

 

 

-------JSP

 

 

 

 

测试开始

 

 

 

 

 

 

 

 

乱码问题POST

<!-- Spring post 乱码过滤 -->

   <filter>

      <filter-name>CharacterEncodingFilter</filter-name>

   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

      <init-param>

         <param-name>encoding</param-name>

         <param-value>utf-8</param-value>

      </init-param>

   </filter>

   <filter-mapping>

      <filter-name>CharacterEncodingFilter</filter-name>

      <url-pattern>/*</url-pattern>

   </filter-mapping>

 

4、自定义类型转换

添加全局的日期类型转换器

 

 

 

----------------------------------------

//转换器 

public class DateConverter implements Converter<String, Date>{

 

   @Override

   public Date convert(String source) {

      // 将日期转成yyyy/MM/dd格式

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

      try {

         Date date = sdf.parse(source);

         return date;

      } catch (ParseException e) {

         e.printStackTrace();

      }

      return null;

   }

  

}

 

jsp输出的格式是用jstl

 

 

 

过程从

 

 

 

 

 

5、包装pojo

用.的方式来取值

 

POJO

 

 

JSP

 

 

 

CONTROLLER

 

 

DEBUG测试

 

 

 

6.集合类型(通过pojo传递)

 

a、数组

pojo

 

 

JSP

 

 

 

controller与5中一样。

 

测试

  jsp

 

 

  Debug

 

 

 

 

b、List绑定

规则。形参名<pojo>[下标].(pojo的属性名)

 

 

POJO增加一个list

 

 

 

JSP静态模拟EL取值。(下标可通过el表达式来赋值)

 

 

 

controller(还是不变)

 

 

 

接收的jsp(view)

 

 

 

测试。

 

 

 

 

c、Map

controller不变。

 

pojo增加一个map

 

 

 

JSP

 

 

 

VIEW(JSP)

 

 

 

测试

 

 

----------

 

 

 

posted @ 2016-08-15 18:33  jway0101  阅读(124)  评论(0编辑  收藏  举报