在
struts2
框架中有一些它所需要的公共的靜態內容,比如說
js檔案和一些
css檔案。當框架需要這些靜態內容的時候,
filterdidpatcher
會自動提供給我們。那麼
filterdidpatcher
是如何知道我們在請求靜態內容的呢?任何請求只要以「
/struts/
」開頭,那麼
filterdidpatcher
就會認為它是在請求靜態內容。注意這裡所說的請求是指從應用上下文後面開始的部分,比如說請求
url是
,那麼我們所說的請求就是
後面的內容。
在識別出請求是請求靜態資源後
filterdidpatcher
如何去匹配尋找靜態資源呢?這裡有兩個關鍵點:
1.確定所要請求的資源路徑。
filterdidpatcher
會擷取/struts/
後面的內容作為所要請求的資源。比如說現在請求是
/struts/xhtml/styles.css
,那麼filterdidpatcher
就會把xhtml/styles.css
作為我們所要請求的資源的路徑:xhtml目錄下面的styles.css檔案。 2
.到哪兒去尋找所請求的靜態內容。預設情況下
filterdidpatcher
會隨意的到
org.apache.struts2.static
和template這兩個包中去尋找,注意,這兩個包必須是在應用程式的classpath上。實際上大家用winrar開啟strts2.jar,就會發現它裡面有這兩個目錄,並且裡面都是框架自帶的一些靜態檔案。如果我們還想在別的其它包中尋找靜態內容的話,那就需要在web.xml配置中
filterdidpatcher
時,給它新增乙個引數
」packages」
,然後把它的值設定為一系列以逗號或者空格分隔的包名,如下面所示:
struts2
org.apache.struts2.dispatcher.filterdispatcher
packages
com.mangocity.static,hust.cm
struts2
/*
Struts2之配置介紹
本文引用自 接下來需要配置web.xml讓struts2起作用。配置乙個過濾器,名字是struts2。類是org.apache.struts2.dispatcher.filterdispatcher。的意思是從專案的根下的所有請求都要經過filterdispatcher類的過濾。這樣struts2就...
struts2學習 基礎篇(續)
1 namespace必須用斜槓開頭,你的namespace是什麼,你訪問的時候工程名後要跟什麼。然後再跟對應的action 解釋 package中namespace屬性是可以不寫的,等用於 namespace 等空意味著只要你在url中輸入action的name,不管是 http localhos...
struts2 註解配置
struts2基於註解的action配置 使用註解來配置action的最大好處就是可以實現零配置,但是事務都是有利有弊的,使用方便,維護起來就沒那麼方便了。要使用註解方式,我們必須新增乙個額外包 struts2 convention plugin 2.x.x.jar。雖說是零配置的,但struts....