Model, HttpServletRequest, ModelMap区别的使用笔记
- 757 次检阅

emmm...最近投了一些简历..好像没啥反应...哎


今天就写下Model model, HttpServletRequest request/session, ModelMap modelMap之间的区别吧..

很多人如果使用了spring mvc 以后都有一个疑问.

httpServeltRequest和Model在传值给Jsp时的区别?

因为我们之前使用servlet给Jsp页面传值,基本都是request.setAttribute("name", "glj");//把值放到request里面或者是session..

但是spring mvc的controller中给jsp传值时使用model.addAttribute("name", "glj");

其实,如果你看了spring mvc的底层,你会发现,model数据最终还是写到HttpServletRequest属性中,只是model的写法更体现了MVC思想减少各层间耦合(个人总结思想,如果错误请留言我纠正...)

好了,下面我就写下他们之前的区别吧...

  • 1.request.setAttribute("name","glj");//把值存到request
  • 2.modelMap.addAttribute("name","glj");//把值存到modelMap
  • 3.model.addAttribute("name","glj");//把值存到model
  • 4.request.getSession.setAttribute("name","glj");//把值存到Session,这个是先获取了session,然后在存值到session

下面是在Jsp中获取值

  • 1.request.getAttribute("name")/el表达式${requestScope.name}/${name}
  • 2.${name}
  • 3.${name}
  • 4.request.getSession().getAttribute/el表达式${sessionScope.name}/${name}

最后..其实${name}对以上几种取值都适用的,只是优先级的区别罢了.

而Model和ModelMap都是一样的吧...只是二者谁最后赋值,谁的优先级就越高..然后才到request最后session...

分享到:
, ,

这篇文章还没有评论

发表评论