方槍槍的java世界

          不要因為風雨飄落就停止了你的腳步,真正的得失就在你的心中。 做喜歡做的事,不輕言放棄!

          struts2的ActionContextCleanUp filter

          為了使用WebWork,我們只需要在web.xml配置FilterDispatcher一個過濾器即可,閱讀一下FilterDispatcher的JavaDoc和源碼,我們可以看到它調用了:

           finally
           {
                      ActionContextCleanUp.cleanUp(req);
           } 

          在ActionContextCleanUp中,有這樣的代碼:

          req.setAttribute(CLEANUP_PRESENT, Boolean.TRUE); 

          如果FilterDispatcher檢測到這個屬性,就不會清除ActionContext中的內容了,而由ActionContextCleanUp后續的代碼來清除,保證了一系列的Filter訪問正確的ActionContext.

          文檔中提到,如果用到SiteMesh的Filter或者其他類似Filter,那么設置順序是:

           ActionContextCleanUp filter
           SiteMesh filter
           FilterDispatcher
           所以最后我們的web.xml應該類似這樣:

              <filter>
                  <filter-name>ActionContextCleanUp</filter-name>
                  <filter-class>com.opensymphony.webwork.dispatcher.ActionContextCleanUp</filter-class>
              </filter>

              <filter>
                  <filter-name>sitemesh</filter-name>
                  <filter-class>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter</filter-class>
              </filter>

              <filter>
                  <filter-name>webwork</filter-name>
                  <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
              </filter>

              <filter-mapping>
                  <filter-name>ActionContextCleanUp</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>

              <filter-mapping>
                  <filter-name>sitemesh</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>

              <filter-mapping>
                  <filter-name>webwork</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>
           

           

          posted on 2008-04-23 21:38 做強大的自己 閱讀(3722) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 泾阳县| 明光市| 长沙县| 永昌县| 乐都县| 炎陵县| 普安县| 井陉县| 青岛市| 济阳县| 仁化县| 永宁县| 汽车| 乌拉特中旗| 嘉峪关市| 福鼎市| 石狮市| 寻乌县| 平泉县| 云霄县| 康保县| 新营市| 龙陵县| 兴宁市| 玉环县| 富锦市| 西藏| 潞西市| 庐江县| 宁强县| 上饶县| 博乐市| 沙洋县| 乃东县| 方正县| 江永县| 申扎县| 康马县| 黔南| 正镶白旗| 南安市|