jsp - 传递给 JSP 的 Spring Model 去哪儿了?

标签 jsp spring-mvc

我一直在阅读有关 spring (3.0) 的文档和教程,所以我学会了如何返回 ModelAndView以 JSP 名称和 Map 作为模型。我还了解到,在 JSP 中,如果您想访问该 map 的一个键,您可以执行 ${attributename}等等。那是JSP EL。现在我的问题:

  • EL 访问的页面对象是什么?是吗PageContext ?我试图在 PageContext.getAttribute 中找到这些键但他们不在那里。
  • 无论对象是什么,模型中的东西都会自动到达那里吗?

  • 随意添加资源来阐明我的想法

    最佳答案

    当你做类似 ${attributename} 的事情时,JSP EL 将检查各种来源以找到它,包括页面和请求上下文(按此顺序)。

    当您的 Spring Controller 返回一个模型时(例如在 ModelAndView 内),这个模型被 Spring 的 AbstractView 分解。类并插入到请求上下文中(这是“神奇”部分),这样当您的 JSP EL 表达式引用模型中的项目时,它就可以使用了。

    关于jsp - 传递给 JSP 的 Spring Model 去哪儿了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4441729/

    相关文章:

    java - JSP 和服务器端延迟

    java - 无法使用 @PropertySource 将 .properties 文件注入(inject) Spring MVC 4.3

    java - Spring MVC - 如何获取@RequestMethod方法参数列表(可能通过@RequestParam属性)

    java - JSP 文件在分析失败时与用户数据一起调用

    javascript - 具有无限列的 Bootstrap 行(动态数据) - 需要在 3 后创建新行

    jakarta-ee - 使用 Spring MVC 时如何在 WEB-INF 之外访问/公开

    java - : Unable to start web server; nested exception is org. springframework.boot.web.server.WebServerException:无法启动嵌入式Tomcat

    java - Bootstrap 不适用于 jsp

    mysql - 如何将等于或小于今天的日期与mysql中的给定日期进行比较

    javascript - 动态添加Spring MVC JSP表单:input using JS giving binding errors