HttpServletRequest
為什么大多程序在controller中給jsp傳值時使用model.addAttribute()而不使用httpServeletRequest.setAttribute()?
事實上model數據,最終spring也是寫到HttpServletRequest屬性中,只是用model更符合mvc設計,減少各層間耦合。
@RequestMapping(value="/list",method=RequestMethod.GET) public String list(Model model) { //前台輸出必須使用形如${ul.value.屬性名 }的形式 model.addAttribute("userList",userList); return "user/userList"; } @RequestMapping(value="/userlist",method=RequestMethod.GET) public String list(HttpServletRequest request) { //前台輸出必須使用形如${user.id }的形式 List<User> userList = new ArrayList<User>(); userList.add(new User("1","yonghu1","121","1@qq.com")); userList.add(new User("2","yonghu2","122","2@qq.com")); userList.add(new User("3","yonghu3","123","3@qq.com")); request.setAttribute("userList", userList); return "user/userList"; }
Model、ModelAndView
Model
@ModelAttribute
ModelAndView