1. 程式人生 > >Struts2之常量的編寫

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">