将对象存储在会话中

时间:2014-05-17 20:03:27

标签: grails

我想在会话中存储一些对象。我知道,至少有两种方法可以做到:

  • 在服务定义scope = "session"中,然后定义属性def myObject
  • 使用httpSession:session['myObject'] = myObject

在会话中存储对象的更有用的方法是什么?

更新:使用各种方法有什么好处?如果我使用scope = 'session'

,我可以使会话无效吗?

更新2 如果我想使用session = "session"在服务中使用另一个类的对象,我有一个关于带范围会话的bean的例外。

1 个答案:

答案 0 :(得分:0)

根据您提供的信息,在session本身存储对象将是更简单的方法。只要确保你存储的东西尽可能小。

session['someKey'] = new MyObject()

documentation提供了有关使用会话的更多信息。

除非您需要使用对象的实际实例,否则您可能会更容易在会话中简单地存储地图。

session['someKey'] = [mapKey1: 'value', meaningKey: 42]
...
println session['someKey'].meaningKey // 42