spring mvc:基于MVC思想的应用框架的快速入门( 五 )

selectItemsList(){ return itemsMapper.selectByExampleWithBLOBs(null); } }在这个层中我们写业务 , 这里并没有什么功能 , 只需要获取到dao层的对象 , itemsMapper就可以执行dao层的方法了 , 因为dao是接口 , 里面的方法都是抽象方法 , 这是因为spring会帮助实例化mapper对象的实现类 。 所以我们要做的就是在service中挑选一个符合我们本次请求业务的方法 , 这里是挑选了
selectByExampleWithBLOBs方法 , 这个方法的详情sql语句可以在mapper.xml中看到
select distinct , from items order by ${orderByClause} 参数绑定之默认参数绑定
在浏览器请求访问的时候 , 往往会携带参数 , 那么我们可以在方法中绑定一些默认的参数 , 这些参数分别是HttpServletRequest、HttpServletResponse、HttpSession、Model , 然后我们就可以使用request.getParameter(''id'')的方式来获取这个请求传递过来的id
想获得Request对象只需要在Controller方法的形参中添加一个参数即可 。 Springmvc框架会自动把Request对象传递给方法 。
处理器形参中添加如下类型的参数处理适配器会默认识别并进行赋值 。
1.1.1.1. HttpServletRequest
通过request对象获取请求信息
1.1.1.2. HttpServletResponse
通过response处理响应信息
1.1.1.3. HttpSession
通过session对象得到session中存放的对象
除了ModelAndView以外 , 还可以使用Model来向页面传递数据 ,
Model是一个接口 , 在参数里直接声明model即可 。
如果使用Model则可以不使用ModelAndView对象 , Model对象可以向页面传递数据 , View对象则可以使用String返回值替代 。
不管是Model还是ModelAndView , 其本质都是使用Request对象向jsp传递数据 。
ModelMap是Model接口的实现类 , 也可以通过ModelMap向页面传递数据
使用Model和ModelMap的效果一样 , 如果直接使用Model , springmvc会实例化ModelMap 。
@RequestMapping(''/itemEdit'') public String queryItemById(HttpServletRequest request, ModelMap model) { // 从request中获取请求参数 String strId = request.getParameter(''id''); Integer id = Integer.valueOf(strId); // 根据id查询商品数据 Item item = this.itemService.queryItemById(id); // 把结果传递给页面 // ModelAndView modelAndView = new ModelAndView(); // 把商品数据放在模型中 // modelAndView.addObject(''item'', item); // 设置逻辑视图 // modelAndView.setViewName(''itemEdit''); // 把商品数据放在模型中 model.addAttribute(''item'', item); return ''itemEdit''; } @RequestMapping(''/itemEdit'') public String queryItemById(HttpServletRequest request, Model model) { // 从request中获取请求参数 String strId = request.getParameter(''id''); Integer id = Integer.valueOf(strId); // 根据id查询商品数据 Item item = this.itemService.queryItemById(id); // 把结果传递给页面 // ModelAndView modelAndView = new ModelAndView(); // 把商品数据放在模型中 // modelAndView.addObject(''item'', item); // 设置逻辑视图 // modelAndView.setViewName(''itemEdit''); // 把商品数据放在模型中 model.addAttribute(''item'', item); return ''itemEdit''; } //去修改页面 入参 id @RequestMapping(valuehttp://news.hoteastday.com/a/= ''/itemEdit.action'') public ModelAndView toEdit( HttpServletRequest request,HttpServletResponse response ,HttpSession session,Model model){ String id = request.getParameter(''id''); tems items = itemService.selectItemsById(Integer.parseInt(id)); ModelAndView mav = new ModelAndView(); mav.addObject(''item'', items); mav.setViewName(''editItem''); return mav; }参数绑定之基本类型