我有一个Grails(2.3.6)应用程序,并希望存储用户特定的会话数据。根据{{3}},我可以某种方式使用session.data
对象。
问题是,该答案似乎表明您一次只能存储1个会话变量:
session.data = someObject
但是,如果我希望我的应用为每个登录用户设置fizz
,buzz
和foo
变量,该怎么办?例如:
User 1
======
fizz = true
buzz = abc
foo = 3
User 2
======
fizz = false
buzz = def
foo = 193
...etc. for all Users
如何在fizz
内为用户1存储session.data
?其他价值怎么样?
如何加载(访问)当前用户的fizz
(或其他)值?
答案 0 :(得分:3)
好session
特定于用户(不仅仅是用户的当前浏览器会话),因此,如果您在控制器中,则可以将session
视为一张地图。它将为用户注入会话,以便您可以使用它。 session.data
没有什么特别之处,这只是开发人员想要使用的密钥的名称。
如果您要求简化代码,可以使用.with
,但这不是必需的:
session.with {
fizz = true
buzz = abc
foo = 3
}
也翻译:
session.fizz = true
session.buzz = abc
session.foo = 3
答案 1 :(得分:2)
data
只是一个变量名。您可以以相同的方式存储其他变量
session.fizz = true
session.buzz = abc
...