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

时间:2019-02-18 20:21:14

标签: spring spring-mvc session thymeleaf httpsession

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

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

两个session“对象”之间有什么区别?是否存在一种情况会起作用而另一种不会起作用?

1 个答案:

答案 0 :(得分:1)

#session的用法仅在Web上下文中有效,即。它是直接访问与当前请求关联的javax.servlet.http.HttpSession对象的帮助者。 documentation中明确指出了这一点。因此,您在这里直接访问Context对象,而不是由百里香叶定义的变量。

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