4、spring参数绑定

1 简单整理

注解开发:

使用注解方式的处理器映射器和适配器:

<!--注解映射器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!--注解适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

在实际开发,使用<mvc:annotation-driven>代替上边处理器映射器和适配器配置。

@controller注解必须要加,作用标识类是一个Handler处理器。

@requestMapping注解必须要加,作用:

1、对urlHandler方法进行映射。

2、可以窄化请求映射,设置Handler的根路径,url就是根路径+子路径请求方式

3、可以限制http请求的方法

映射成功后,springmvc框架生成一个Handler对象,对象中只包括 一个映射成功的method

 

注解开发中参数绑定:

 

request请求过来的key/value的数据(理解一个串),通过转换(参数绑定的一部分),将key/value串转成形参,将转换后的结果传给形参(整个参数绑定过程)。

 

springmvc所支持参数绑定:

 

1、默认支持很多类型,HttpServletRequestresponsesessionmodel/modelMap(将模型数据填充到request)

 

2、支持简单数据类型,整型、字符串、日期。。只要保证request请求的参数名和形参名称一致,自动绑定成功如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。

 

 

3、支持pojo类型

 

只要保证request请求的参数名称和pojo中的属性名一致,自动将request请求的参数设置到pojo的属性中。

 

注意:形参中即有pojo类型又有简单类型,参数绑定互不影响。

 

包装类型pojo参数绑定 

2.1 需求

商品查询controller方法中实现商品查询条件传入。

2.2 实现方法

第一种方法:在形参中 添加HttpServletRequest request参数,通过request接收查询条件参数。

第二种方法:在形参中让包装类型的pojo接收查询条件参数。

分析:

页面传参数的特点:复杂,多样性。条件包括 :用户账号、商品编号、订单信息。。。

如果将用户账号、商品编号、订单信息等放在简单pojo(属性是简单类型)中,pojo类属性比较多,比较乱。

建议使用包装类型的pojopojo中属性是pojo

2.3 页面参数和controller方法形参定义

页面参数:

商品名称:<input name="itemsCustom.name" />

注意:itemsCustom和包装pojo中的属性一致即可。

controller方法形参:

public ModelAndView queryItems(HttpServletRequest request,ItemsQueryVo itemsQueryVo) throws Exception

 

 

3集合类型绑定

3.1 数组绑定

3.1.1 需求

商品批量删除,用户在页面选择多个商品,批量删除。

 

3.1.2 表现层实现

关键:将页面选择(多选)的商品id,传到controller方法的形参,方法形参使用数组接收页面请求的多个商品id

 

3.2list绑定

3.2.1 需求

通常在需要批量提交数据时,将提交的数据绑定到list<pojo>中,比如:成绩录入(录入多门课成绩,批量提交),

本例子需求:批量商品修改,在页面输入多个商品信息,将多个商品信息提交到controller方法中。

3.2.2 表现层实现

 

 

3.3 map绑定

 

 

 

 

 

posted @ 2017-02-26 13:15  wyl9527  阅读(138)  评论(0编辑  收藏  举报