本文主要介绍注解开发的介绍包装类型的参数绑定

需求

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

实现方法

  • 第一种方法:在形参中添加HttpServletRequest request参数,通过request接收查询条件参数。
  • 第二种方法:在形参中让包装类型的pojo接收查询条件参数。

分析:

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

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

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

  • 页面参数:

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

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

  • controller方法形参:

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

  • 包装类ItemsQueryVo中部分属性:
1
2
3
4
5
6
7
public class ItemsQueryVo {

//商品信息
private Items items;

//为了系统 可扩展性,对原始生成的po进行扩展
private ItemsCustom itemsCustom;

可见,ItemsQueryVo中属性itemsCustom和页面参数中一致