Thymeleaf 表达式对象:#session 和 ${session....}

问题描述 投票:0回答:2

Thymeleaf 中有两种获取会话属性的方法:

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

这两个

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

spring spring-mvc session thymeleaf httpsession
2个回答
3
投票

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

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


0
投票

新版本的 thymeleaf 中删除了一些与会话相关的对象。

© www.soinside.com 2019 - 2024. All rights reserved.