需求:
商品查询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; }