有很多方法可以在struts2中获取会话对象。从以下几个方面获取会话对象的最佳和推荐方法是什么?。
现在我使用ServletRequestAware在所有操作中获取会话对象,即使不需要请求对象。
哪一个最好,为什么最好?
提前致谢
答案 0 :(得分:3)
首选实施SessionAware
,但您也可以通过其他方式访问会话
通过实现SessionAware
,您可以为struts2提供将会话属性(即地图)注入您的操作的机会。这样可以使代码保持干净,不会与基础servlet上下文耦合,也可以使测试更容易,因为您可以使用所需的属性将任何map对象传递给您的操作。
此会话映射所做的任何更改都将反映在真实会话对象上。
答案 1 :(得分:0)
同意doctrey。让你的动作实现sessionaware,并创建会话变量(这是Map变量)。该变量可以像任何普通变量一样对待。代码看起来会更整洁。