隨筆-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 閱讀(400) 評論(0)  編輯  收藏 所屬分類: SpringStruts2
          主站蜘蛛池模板: 昌宁县| 咸丰县| 察隅县| 泰来县| 东丰县| 广汉市| 泰顺县| 万年县| 南岸区| 苗栗市| 四子王旗| 冷水江市| 张家川| 阿勒泰市| 沂南县| 禄丰县| 紫金县| 万州区| 汉源县| 高州市| 沅江市| 浦城县| 江华| 喀什市| 宝丰县| 黄大仙区| 蓬溪县| 元氏县| 永新县| 安新县| 平舆县| 通渭县| 新巴尔虎右旗| 安图县| 当阳市| 阳山县| 延川县| 康马县| 托克托县| 新安县| 韶山市|