Struts2配置Action類的靜態參數
在某些情況下,可能需要一個Action類分配一些預定義或靜態的參數值。
爲動作定義靜態參數
在Struts2,可以在 struts.xml 文件中的通過標記進行配置,例如,
struts.xml
它分配三個預定義的參數值到LocaleAction Action類。
從動作獲取靜態參數
要從struts.xml中獲取靜態參數值,Action類必須實現參數化Parameterizable接口。動作的靜態參數是由staticParams攔截,其中包括在默認堆棧控制
動作的靜態參數是由staticParams攔截,包括在默認堆棧 「struts-default.xml」 中控制。
1. Map屬性
在操作類初始化期間,staticParams攔截器將通過動作類的setParams()方法獲取預先定義的參數值。
//...
import com.opensymphony.xwork2.config.entities.Parameterizable;
public class LocaleAction implements Parameterizable{
Map<String, String> params;
//...
public void setParams(Map<String, String> params) {
this.params = params;
}
}
2. JavaBean 屬性
在動作類的初始化,如果創建了getter和setter方法得當,staticParams攔截器將設置預先定義的參數值,以對應於該「參數」的每JavaBean屬性。
//...
import com.opensymphony.xwork2.config.entities.Parameterizable;
public class LocaleAction implements Parameterizable{
String englishParam;
String chineseParam;
String franceParam;
public String getEnglishParam() {
return englishParam;
}
public void setEnglishParam(String englishParam) {
this.englishParam = englishParam;
}
public String getChineseParam() {
return chineseParam;
}
public void setChineseParam(String chineseParam) {
this.chineseParam = chineseParam;
}
public String getFranceParam() {
return franceParam;
}
public void setFranceParam(String franceParam) {
this.franceParam = franceParam;
}
//...
}
2. 運行實例
在瀏覽器中打開URL:http://localhost:8080/configure-param/locale.action
代碼下載(configure-param) - http://pan.baidu.com/s/1dDmGDK9