隨筆-112  評論-73  文章-0  trackbacks-0

          struts2 action 是沒有scope的,但通過引用spring bean 可以達到有scope功能。

          ?

          ?

          <action name="xxxAction" class="xxxBean">

          <result name="success" >/success.jsp</result>

          </action>

          ?

          ?xxxBean是在spring中配置的session作用域的bean.

          ?

          @Service(value = "xxxBean")

          @Scope(value = "session")

          public class XxxAction {

          ...

          }

          ? ?

          ?

          想把action放到session作用域(因為一些特殊操作傳參等),但所有action都放到session會頭大的!!

          ?

          經過測試發現一個辦法,就是把不用的xxxAction在適當的時候從session當中清除掉,這樣再下次使用(沒有關閉窗口的情況)的時候會再次創建xxxBean

          ?

          現在的難點在于什么時候清除比較合適,一般一個action都是負責一個功能,比如用戶的增、刪、改查等,不會涉及到其他對象,采購單的增、刪、改、查。這樣就可以在通過菜單切換功能(從用戶界面切到采購單界面)的時候將剛剛使用的用戶的actionsession當中清除。

          ?

          基于這樣的思路,使用struts2 的攔截器(Interceptor)來監聽特定的action,在菜單切換的時候從session中清除不用的action

          ?

          ?

          歡迎提出各種看法!

          ?

          ?

          posted on 2012-05-30 21:29 Libo 閱讀(394) 評論(0)  編輯  收藏 所屬分類: SpringStruts2
          主站蜘蛛池模板: 连江县| 靖安县| 股票| 城固县| 虞城县| 惠州市| 乌海市| 江华| 新平| 万源市| 苏州市| 家居| 麻城市| 锡林浩特市| 涟源市| 青浦区| 邯郸县| 新安县| 晋州市| 章丘市| 琼中| 新乡县| 合江县| 正镶白旗| 岳阳县| 改则县| 嵊州市| 旌德县| 辉县市| 盐边县| 渝中区| 西林县| 卓尼县| 台东县| 井陉县| 德令哈市| 金沙县| 云浮市| 吴江市| 深州市| 黄大仙区|