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

qmb5sa22  于 8个月前  发布在  Spring
关注(0)|答案(2)|浏览(85)

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

  1. ${#session.getAttribute('attr')}
  2. ${session.attr}
    两个session“对象”之间有什么区别?是否存在一个可以工作而另一个不能工作的情况?
bq9c1y66

bq9c1y661#

#session的使用只在Web Context中起作用,也就是说,它是一个帮助器,可以直接访问与当前请求相关联的javax.servlet.http.HttpSession对象。这在文档中有明确的说明。所以你在这里直接访问的是Context对象,而不是thymeleaf定义的变量。
$session是访问session属性的快捷方式。这不是一个context对象,而是作为变量添加到context中的map,由thymeleaf显式添加。您可以在这里找到相关信息。

mpgws1up

mpgws1up2#

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

相关问题