【Mybatis升级版-04】包装类型pojo参数绑定
需求:
商品查询controller方法中实现商品查询条件传入。
实现方法:
[1]在形参中,添加httpServletRequest request参数,通过request接收查询条件参数。【不推荐】
[2]在形参中让包装类型的pojo接收查询条件参数。
分析:
页面传参数的特点:复杂、多样性。条件包括:用户账号,商品编号,订单信息……
如果将用户账号、商品编号、订单信息等放在简单pojo(属性是简单类型)中,pojo类属性比较多、比较乱。
建议使用包装类型的pojo,pojo中属性pojo。
页面参数和controller方法形参定义
页面参数:
商品名称:
<table width="100%" border=1>
<tr>
<td>商品名称:<input name="itemsCustom.name"/></td>
<td><input type="submit" value="查询"/></td>
</tr>
</table>
注意:itemsCustom和包装pojo中的属性一致即可。
controller方法形参:
@RequestMapping("/item/queryItems")
public ModelAndView queryItems(HttpServletRequest request, ItemsQueryVo itemsQueryVo) throws Exception {
//System.out.println(request.getParameter("id"));
//调用service查找数据库,查询商品列表
List<ItemsCustom> itemsList = itemsService.findItemsList(itemsQueryVo);
//返回modelAndView
ModelAndView modelAndView = new ModelAndView();
// 相当 于request的setAttribute,在jsp页面中通过itemsList取数据
modelAndView.addObject("itemsList", itemsList);
// 指定视图
// 下边的路径,如果在视图解析器中配置jsp路径的前缀和jsp路径的后缀,修改为
// modelAndView.setViewName("/WEB-INF/jsp/item/itemsList.jsp");
// 上边的路径配置可以不在程序中指定jsp路径的前缀和jsp路径的后缀
modelAndView.setViewName("item/itemsList");
return modelAndView;
}
上一篇:
IDEA上Java项目控制台中文乱码
