隨筆-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
          主站蜘蛛池模板: 东明县| 平和县| 云龙县| 承德县| 惠安县| 黄冈市| 中宁县| 凤庆县| 江口县| 渭源县| 新乐市| 永济市| 泊头市| 同德县| 芮城县| 遵化市| 鹿泉市| 昭苏县| 泊头市| 桐梓县| 开平市| 云霄县| 阿荣旗| 元朗区| 松潘县| 北宁市| 汽车| 广德县| 蛟河市| 镇安县| 新昌县| 黄平县| 天祝| 三亚市| 垣曲县| 永嘉县| 安龙县| 札达县| 嘉黎县| 通海县| 乳源|