隨筆-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
          主站蜘蛛池模板: 隆林| 肃南| 栾城县| 锦屏县| 黄山市| 永福县| 山西省| 三都| 盐山县| 丰原市| 民勤县| 永福县| 五河县| 邢台县| 勐海县| 常州市| 东方市| 河津市| 上饶县| 泸水县| 湘西| 新泰市| 荃湾区| 奈曼旗| 龙海市| 新宁县| 淳化县| 白银市| 舒兰市| 东乌珠穆沁旗| 嘉义县| 区。| 顺义区| 靖州| 嵩明县| 威信县| 微山县| 扬中市| 阿勒泰市| 阜康市| 芦山县|