在struts2中获取会话的最佳和推荐方法?

时间:2011-07-15 07:59:13

标签: session struts2 actioncontext

有很多方法可以在struts2中获取会话对象。从以下几个方面获​​取会话对象的最佳和推荐方法是什么?。

  1. ActionContext中
  2. SessionAware
  3. ServletRequestAware 获取请求,并在来自请求对象的会话之后。
  4. 现在我使用ServletRequestAware在所有操作中获取会话对象,即使不需要请求对象。

    哪一个最好,为什么最好?

    提前致谢

2 个答案:

答案 0 :(得分:3)

首选实施SessionAware,但您也可以通过其他方式访问会话 通过实现SessionAware,您可以为struts2提供将会话属性(即地图)注入您的操作的机会。这样可以使代码保持干净,不会与基础servlet上下文耦合,也可以使测试更容易,因为您可以使用所需的属性将任何map对象传递给您的操作。 此会话映射所做的任何更改都将反映在真实会话对象上。

答案 1 :(得分:0)

同意doctrey。让你的动作实现sessionaware,并创建会话变量(这是Map变量)。该变量可以像任何普通变量一样对待。代码看起来会更整洁。