spring - Thymeleaf 表达式对象 : #session and ${session. ...}

标签 spring spring-mvc session thymeleaf httpsession

在 Thymeleaf 中有两种获取 session 属性的方法:

  1. ${#session.getAttribute('attr')}
  2. ${session.attr}

两个 session “对象”之间有什么区别?是否存在一种情况,一种可以工作,另一种则不行?

最佳答案

#session 用法仅适用于 Web 上下文,即。它是一个直接访问与当前请求关联的 javax.servlet.http.HttpSession 对象的帮助器。这在documentation中有明确说明。 。因此,您在这里直接访问 Context 对象,而不是 thymeleaf 定义的变量。

$session 是访问 session 属性的快捷方式。这不是上下文对象,而是作为变量添加到上下文的映射,由 thymeleaf 显式添加。您可以找到相关信息here .

关于spring - Thymeleaf 表达式对象 : #session and ${session. ...},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754789/

相关文章:

java - 将 JPA 或 Hibernate 投影查询映射到 DTO(数据传输对象)

java.beans.PropertyEditorManager.findEditor(Locale.class) 在 spring 中返回 null

java - maven clean install - 无法在项目 myGoogleAppEngine 上执行目标

rest - Apache Camel + Spring( war )+ Tomcat + REST

c# - .net C#,保护每种方法的最佳实践是什么?

java - Spring - 执行两个 hibernate 更新查询而不是一个

java - 如何在任何类上执行 SELECT 语句

java - Spring Boot - JSP 未渲染

jquery - 在 jQuery 中访问 session

php - 当请求发送到服务器时, session 和 cookie 的组合如何准确识别正确的用户