Action注入屬性值、字尾以及常量問題
一、Action屬性依賴注入的問題
Struts2為Action中的屬性提供了依賴注入功能,在Struts2的配置檔案中,我們可以很方便地為Action中屬性注入值,注意的是屬性中必須提供setter方法
1、Action中的程式碼:
package cn.itcast.action;
public class LoginAction {
private String companyName;
public String getCompanyName() {
return companyName;
}
public String execute() {
return "success";
}
}
2、配置檔案
<action name="hello" class="cn.itcast.action.LoginAction" method="execute">
<result name="success">/WEB-INF/index.jsp</result>
<param name="companyName">中國有限公司</param>
</action>
上面是通過<param>結點為action的savePath屬性注入"companyName"
注意:即使為屬性注入值時中文,也不用考慮編碼問題~
二、指定需要處理的請求字尾
預設是使用.action字尾訪問Action的,
一般可以通過"struts.action.extension"進行修改的,例如指定多個請求字尾,多個字尾之間用英文逗號隔開,如在struts.xml檔案中配置:<constant name="struts.action.extension" value="do,action"/>
只要使用指定字尾,使用預設方式訪問字尾會提示找不到網頁
三、常量定義
上述的改變字尾的方法也可以在struts.proprtise中配置常量(文件上不建議):
struts.action.extension=do
1、因為常量可以在下面的多個配置檔案中進行定義,所以Struts2載入常量的搜尋順序如下:(從第一個往後)
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
如果多個檔案中配置了同一個常量,則後一個檔案中配置的常量值會覆蓋前面檔案中配置的常量。
2、常用的常量介紹
1>指定預設的編碼集,相當於作用於httpServletRequest 的setCharacterEncoding方法和freemarker、velocity的輸出<constant name="struts.i.18n.encoding" value="utf-8"/>
2、如果使用者需要指定Struts2處理的請求字尾,該屬性的預設值是action,即所有匹配*.action的請求都由Struts2處理。
<constant name="struts.action.extension" value="do"/>
3、設定瀏覽器是否快取靜態內容,預設值為true(生產環境下使用)、開發階段最好關閉
<constant name="struts.serve.static.browserCache" value="false"/>
4、當Struts的配置檔案修改後。系統是否自動重新載入該檔案,預設值為false(生產環境下使用)、開發階段最好開啟
<constant name="struts.configuration.xml.reload" value="true"/>
5、開發模式下使用,這樣可以列印出更詳細的錯誤資訊
<onstant name="struts.devMode" value="true"/>
6、預設的檢視主題
<constant name="struts.ui.theme" value="simple"/>
7、與Spring整合時,指定由spring負責action物件的建立
<constant name="struts.objectFactory" value="spring"/>
8、該屬性設定Struts2是否支援動態方法呼叫,該屬性的預設值是true。如果需要關閉動態方法呼叫,則可設定該屬性為false。
<constant name="struts.enable.DynamicMethodinvocation" value="false"/>
9、上傳檔案大小的限制
<constant name="struts.multipart.maxSize" value="10701096"/>
相關文章
- 05. struts2中為Action屬性注入值
- Java 反射修改類的常量值、靜態變數值、屬性值Java反射變數
- Spring中利用配置檔案和@value注入屬性值Spring
- Spring IOC容器【p名稱空間注入屬性值 】Spring
- BackgroundImageLayout屬性值
- 基於autofac的屬性注入
- Aop踩坑!記一次模板類呼叫注入屬性為空的問題
- C#反射設定屬性值和獲取屬性值C#反射
- CSS 屬性賦值CSS賦值
- Spring原始碼系列:依賴注入(三)-屬性注入Spring原始碼依賴注入
- 窗體間利用屬性(property)來傳遞值時應注意的問題。
- 修改追加屬性的值
- HTML 布林屬性值HTML
- ajax readystate 屬性值
- js如何獲取給定屬性的屬性值JS
- Spring 原始碼分析之 bean 依賴注入原理(注入屬性)Spring原始碼Bean依賴注入
- 在url中通過屬性名獲取屬性值
- 再談屬性動畫——介紹以及自定義Interpolator插值器動畫
- 請問關於Struts的Indexed屬性的問題Index
- 問題No property 屬性名 found for type 類名
- JavaScript 獲取 checked 屬性值JavaScript
- javascript如何獲取屬性值JavaScript
- CSS border屬性預設值CSS
- jquery設定href屬性值jQuery
- jquery改變元素屬性值jQuery
- 理解CSS屬性值語法CSS
- 關於action的error問題Error
- javascript獲取物件直接量中的屬性和屬性值JavaScript物件
- 繼承ActionSupport 實現Action與屬性驅動傳參繼承
- .net core番外第2篇:Autofac的3種依賴注入方式(建構函式注入、屬性注入和方法注入),以及在過濾器裡面實現依賴注入依賴注入函式過濾器
- SpringBoot基礎學習(二) SpringBoot全域性配置檔案及配置檔案屬性值注入Spring Boot
- Swift 屬性字怎麼玩Swift
- html中Position屬性值介紹和position屬性四種用法HTML
- scss中如果將null作為屬性值會刪除此屬性CSSNull
- 獲取物件屬性型別、屬性名稱、屬性值的研究:反射和JEXL解析引擎物件型別反射
- spring注入配置檔案屬性到java類SpringJava
- <a>為空使用href屬性值填充
- 數值常用的屬性和方法