1:Struts2的預設通路字尾是.action(特别需要注意的是改了配置檔案web.xml或者struts.xml需要重新開機伺服器)

2:Struts2中常用的常量介紹:
<!-- 一:全局配置 -->
<!--1.請求資料編碼 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!--2.修改struts2預設的自定義字尾 -->
<constant name="struts.action.extension" value="action,do,"/>
<!--3.設定浏覽器是否緩存靜态内容,預設值為true(生産環境下使用),開發階段最好關閉 -->
<constant name="struts.serve.static.browserCache" value="false"/>
<!--4.當struts的配置檔案修改後,系統是否自動重新加載該檔案,預設值為false(生産環境下使用),開發階段最好打開 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!--5.開發模式下使用,這樣可以列印出更詳細的錯誤資訊 -->
<constant name="struts.devMode" value="true" />
<!--6.預設的視圖主題 -->
<constant name="struts.ui.theme" value="simple" />
<!--7.與spring內建時,指定由spring負責action對象的建立 -->
<constant name="struts.objectFactory" value="spring" />
<!--8.該屬性設定Struts 2是否支援動态方法調用,該屬性的預設值是true。如果需要關閉動态方法調用,則可設定該屬性為 false -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<!--9.上傳檔案的大小限制 -->
<constant name="struts.multipart.maxSize" value="10701096"/>
3:Struts2的動态Action的簡單應用和多個.xml的使用:
第一步:引包,略去
第二步:配置web.xml
第三步:開發第一個Action,配置第一個struts01.xml檔案
第四步:開發第二個Action,配置第二個struts02.xml檔案
第五步:配置struts2的全局變量以及總struts.xml檔案;
需要注意的是動态Action預設是不使用的,将false改為true即可使用動态Action。
運作效果如下所示:(注意:動态Action的通路是action的name屬性加!後面是方法名即可通路。)詳細如下圖所示:
4:配置各項預設值:詳解如下所示 配置全局跳轉視圖,先去action的result找,如果沒有就去全局視圖找:
5:Struts2的Action的開發的幾種方式
(1):方式一,繼承ActionSupport,最經常使用的。
如果用struts的資料校驗功能,必須繼承此類;
(2):方式二,實作Action接口
(3):方式三,手動寫;
6:使用通配符進行配置Action(在struts中配置資訊中,可以用*和{1}優化配置;),如下所示:
然後配置strutsConfig.xml配置檔案,注意這裡的Action使用了占位符進行配置:
然後在總的配置檔案struts.xml中引入配置檔案strutsConfig.xml即可,如下所示:
通路的時候如下所示:
對比一下可以很清晰的發現他們之間的差別,這就是使用了占位發簡化開發;
7:Struts的常量
Struts1中預設通路字尾是*.do
Struts2中預設通路字尾是*action
如何修改預設通路字尾:
(1):Struts的通路字尾在哪裡定義:
在default.properties檔案中
預設通路字尾:struts.action.extension=action,,
8:配置的順序書寫,?代表0或者1,*代表0或者多:
The content of element type "package" must match "( result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)".