我搜索了很多,找不到答案。模型属性在哪里存储?
其中模型对象值存储在Spring
。
凡model.addAttributes("key","values")
值存储(例如:会话,请求)何为的这个范围?
如何使用expression language
(如${key}
)获得JSP中存储值的值?
EL
如何工作来检索model
中存储的值?
我搜索了很多,找不到答案。模型属性在哪里存储?
其中模型对象值存储在Spring
。
凡model.addAttributes("key","values")
值存储(例如:会话,请求)何为的这个范围?
如何使用expression language
(如${key}
)获得JSP中存储值的值?
EL
如何工作来检索model
中存储的值?
它在请求中,除非用@SessionAttributes
修改。如果你正在做重定向 - 请求属性丢失;这是一个新的要求。
对于您的第二个和第三个问题是通过这个链接Where does the Spring Model that is passed to a JSP goes to?
模型属性不会开始存储在请求中或会话中。 –
的DispatcherServlet
,这是任何Spring MVC应用程序的入口点,创建针对每个请求一个新ModelAndViewContainer
对象解决。这个类的Javadoc指出
记录模型和控制器的方法被调用的过程中,通过
HandlerMethodArgumentResolvers
和HandlerMethodReturnValueHandlers
做出视图相关的决定。
这两个接口是解决你的@RequestMapping
带注释的方法参数和返回值的东西。
因此,在请求的生命周期中,模型属性存储在此对象的ModelMap
字段中。实际的当前实现是BindingAwareModelMap
。
在请求结束时,当需要渲染视图时,一些View
对象会将模型属性与HttpServletRequest
属性合并。
EL如何检索模型中存储的值?
它没有。 EL解析来自JSP页面范围HttpServletRequest
,HttpSession
或ServletContext
的属性。
[传递给JSP的Spring模型转到哪里?](http://stackoverflow.com/questions/4441729/where-does-the-spring-model-that-is-pass to-a-jsp-goes-to) – zeroflagL