方槍槍的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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 玉环县| 二连浩特市| 花莲市| 江津市| 金寨县| 云和县| 丰县| 福州市| 宾阳县| 陆河县| 鄂伦春自治旗| 航空| 沈阳市| 博湖县| 甘谷县| 景谷| 宁蒗| 定西市| 东源县| 诏安县| 高邑县| 灌阳县| 松江区| 青神县| 兰溪市| 南木林县| 潢川县| 山西省| 安达市| 来宾市| 辽阳市| 璧山县| 榆中县| 南汇区| 夏邑县| 成武县| 遵义市| 丹巴县| 拉萨市| 宁晋县| 卓资县|