|
Struts2為Action中的屬性提供了依賴注入功能,在struts2的配置文件中,我們可以很方便地為Action中的屬性注入值。注意:屬性必須提供setter方法。 1 public class HelloWorldAction{ <package name="jim" namespace="/test" extends="struts-default"> 上面通過<param>節(jié)點(diǎn)為action的savePath屬性注入“/images”
前面我們都是默認(rèn)使用.action后綴訪問Action。其實(shí)默認(rèn)后綴是可以通過常量”struts.action.extension“進(jìn)行修改的,例如:我們可以配置Struts 2只處理以.do為后綴的請(qǐng)求路徑: <?xml version="1.0" encoding="UTF-8"?> 如果用戶需要指定多個(gè)請(qǐng)求后綴,則多個(gè)后綴之間以英文逗號(hào)(,)隔開。如:
<constant name="struts.action.extension" value="do,go"/>
常量可以在struts.xml或struts.properties中配置,建議在struts.xml中配置,兩種配置方式如下:
在struts.xml文件中配置常量
<struts>
<constant name="struts.action.extension" value="do"/>
</struts>
在struts.properties中配置常量
struts.action.extension=do
因?yàn)槌A靠梢栽谙旅娑鄠€(gè)配置文件中進(jìn)行定義,所以我們需要了解struts2加載常量的搜索順序:
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
如果在多個(gè)文件中配置了同一個(gè)常量,則后一個(gè)文件中配置的常量值會(huì)覆蓋前面文件中配置的常量值.
常用的常量介紹<!-- 指定默認(rèn)編碼集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的輸出 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 該屬性指定需要Struts 2處理的請(qǐng)求后綴,該屬性的默認(rèn)值是action,即所有匹配*.action的請(qǐng)求都由Struts2處理。如果用戶需要指定多個(gè)請(qǐng)求后綴,則多個(gè)后綴之間以英文逗號(hào)(,)隔開。 -->
<constant name="struts.action.extension" value="do"/>
<!-- 設(shè)置瀏覽器是否緩存靜態(tài)內(nèi)容,默認(rèn)值為true(生產(chǎn)環(huán)境下使用),開發(fā)階段最好關(guān)閉 -->
<constant name="struts.serve.static.browserCache" value="false"/>
<!-- 當(dāng)struts的配置文件修改后,系統(tǒng)是否自動(dòng)重新加載該文件,默認(rèn)值為false(生產(chǎn)環(huán)境下使用),開發(fā)階段最好打開 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!-- 開發(fā)模式下使用,這樣可以打印出更詳細(xì)的錯(cuò)誤信息 -->
<constant name="struts.devMode" value="true" />
<!-- 默認(rèn)的視圖主題 -->
<constant name="struts.ui.theme" value="simple" />
<!– 與spring集成時(shí),指定由spring負(fù)責(zé)action對(duì)象的創(chuàng)建 -->
<constant name="struts.objectFactory" value="spring" />
<!–該屬性設(shè)置Struts 2是否支持動(dòng)態(tài)方法調(diào)用,該屬性的默認(rèn)值是true。如果需要關(guān)閉動(dòng)態(tài)方法調(diào)用,則可設(shè)置該屬性為false。 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<!--上傳文件的大小限制-->
<constant name="struts.multipart.maxSize" value=“10701096"/>
|
|
|