Struts2之常量的編寫
上述default.properties的struts.action.extention=action,,的常量表示的含義,頁面中訪問的/hello.action的字尾名,(要麼不寫字尾名 /hello ,要麼只能寫.action的字尾名,不能寫成像.do 之類的)
如果要修改後綴名,可以複製常量struts.action.extention,在struts.xml中修改
<struts> <!--編寫常量,或者 value="do"--> <!--會覆蓋之前default.properties檔案中的常量值--> <constant name="struts.action.extention" value="do,,"></constant> <!--包結構--> <package name="default" namespace="/" extends="struts-default"> <!--配置Action--> <!--/hello.action--> <action name="hello" class="com.zst.action.HelloAction" method="sayHello"> <!--選中suc.jsp 右鍵 Copy relative path 複製路徑--> <!--路徑的寫法:在struts2框架中,不管是轉發還是重定向,都不用寫專案名--> <result name="ok" type="">demo1/suc.jsp</result> </action> </package> </struts>
此時,再訪問hello.action ,會報錯。
需要了解的常量
struts.i18n.encoding=UTF-8---------指定預設的編碼集,作用於HttpServletRequest的setCharacterEncoding方法
struts.action.extension=action,--------該屬性指定需要Struts2處理的請求字尾,該屬性的預設值是action,即所有匹配*.action的請求都有Struts2來處理,如果使用者需要指定多個請求字尾,則多個字尾之間用英文逗號(,)隔開
struts.serve.static.browserCache=true-------設定瀏覽器是否快取靜態內容,預設值是true(生產環境下使用)。開發階段最好關閉
struts.configuration.xml.reload=false---------當struts的配置檔案修改後,系統是否自動重新載入該檔案,預設值為false(生產環境下使用)
struts.devMode=false---------開發模式下使用,這樣可以列印更詳細的錯誤資訊
struts的配置檔案
在大部分應用裡,隨著應用規模的增加,系統中Action的數量也會大量增加,導致struts.xml配置檔案變得非常臃腫
- 為了避免struts.xml檔案過於龐大,臃腫,提高struts.xml檔案的可讀性,我們將一個struts.xml配置檔案分解成多個配置檔案,然後在struts.xml檔案中包含其他配置檔案
可以在<package>
標籤中,使用<include>
標籤來引入其他的struts_xx.xml的配置檔案,例如:
<struts> <include file = "struts-part1.xml"/> <include file = "struts-part2.xml"/> </struts>
注意:
<include file = "cn/itcast/demo2/struts-part1.xml">