我搜索了很多但找不到答案。
模型对象值存储在Spring
。
存储{em}的model.addAttributes("key","values")
值(例如:会话,请求)。这个的范围是什么?
如何使用像expression language
这样的${key}
来获取JSP中存储值的值?
EL
如何检索model
中的存储值?
答案 0 :(得分:4)
DispatcherServlet
是任何Spring MVC应用程序的入口点,它会在每个请求上创建一个新的ModelAndViewContainer
对象。这个类的javadoc说明了
记录模型并查看相关决策
HandlerMethodArgumentResolvers
和HandlerMethodReturnValueHandlers
在调用控制器方法的过程中。
这两个接口处理解析@RequestMapping
带注释的方法参数和返回值。
因此,在请求的生命周期中,模型属性存储在此ModelAndViewContainer
对象的ModelMap
字段中。实际的当前实现是BindingAwareModelMap
。
在请求结束时,当需要呈现视图时,某些View
个对象会将模型属性与HttpServletRequest
属性合并。
EL如何检索模型中的存储值?
没有。 EL解析JSP页面范围HttpServletRequest
,HttpSession
或ServletContext
中的属性。
答案 1 :(得分:3)
它在请求中,除非使用@SessionAttributes
进行修改。如果您正在进行重定向 - 请求属性丢失;这是一个新的要求
对于您的第二个和第三个问题,请通过此链接Where does the Spring Model that is passed to a JSP goes to?