這篇文章給大家介紹使用struts2怎么對靜態(tài)資源進(jìn)行映射,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在struts2框架中有一些它所需要的公共的靜態(tài)內(nèi)容,比如說js文件和一些css文件。當(dāng)框架需要這些靜態(tài)內(nèi)容的時候,F(xiàn)ilterDidpatcher會自動提供給我們。那么FilterDidpatcher是如何知道我們在請求靜態(tài)內(nèi)容的呢?任何請求只要以“/struts/”開頭,那么FilterDidpatcher就會認(rèn)為它是在請求靜態(tài)內(nèi)容。在識別出請求是請求靜態(tài)資源后FilterDidpatcher如何去匹配尋找靜態(tài)資源呢?這里有兩個關(guān)鍵點:
1.確定所要請求的資源路徑。FilterDidpatcher會截取/struts/后面的內(nèi)容作為所要請求的資源。比如說現(xiàn)在請求是/struts/xhtml/styles.css,那么FilterDidpatcher就會把xhtml/styles.css作為我們所要請求的資源的路徑:xhtml目錄下面的styles.css文件。
2.到哪兒去尋找所請求的靜態(tài)內(nèi)容。默認(rèn)情況下FilterDidpatcher會隨意的org.apache.struts2.static和template這兩個包中去尋找。如果我們還想在別的其它包中尋找靜態(tài)內(nèi)容的話,那就需要在web.xml配置中FilterDidpatcher時,給它添加一個參數(shù)”packages”,然后把它的值設(shè)置為一系列以逗號或者空格分隔的包名,如下面所示:
Struts2 org.apache.struts2.dispatcher.FilterDispatcher packages com.mangocity.static,hust.cm Struts2 /*