struts2集成sitemesh

網上好多都是關於struts2.1.3之前的版本和sitemesh的集成,後來我查了一下官網,看到下面這句話:

With Struts 2 makes sure to place SiteMesh before the FilterDispatcher filter in your web.xml. You will also want to have consideration for using ActionContextCleanUp filter.

Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter and corresponding clean up filters.

上邊的大概意思是說struts2使用FilterDispatcher過濾器的時候,我們要想使用sitemesh,必須使用ActionContextCleanUp過濾器。從2.1.3之後我們使用StrutsPrepareAndExecuteFilter過濾器,也要使用相應的清掃過濾器。所以我們把StrutsPrepareAndExecuteFilter分成兩個過濾器StrutsPrepareFilter和StrutsExecuteFIlter,這是因爲在strtus2的架構中總是以StrutsPrepareFilter開始,後邊跟着其他的過濾器,最後纔有StrutsExecuteFIlter來處理請求,因此我們的過濾器順序就應該是:

1、StrutsPrepareFilter

2、SIteMeah

3、StrutsExecuteFIlter

相應代碼:

<filter>
        <filter-name>struts2Pre</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
    </filter>
    <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts2Exe</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2Pre</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>struts2Exe</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
sitemesh的使用在此就不寫了,網上的教程一搜一大把

ps:寫的不太好,要是各位有什麼問題呢,別噴,請留言交流一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章