为动作定义静态参数
在Struts2,可以在 struts.xml 文件中的通过标记进行配置,例如,
struts.xml
pages/welcome.jsp
English
Chinese
France
它分配三个预定义的参数值到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 params;
//...
public void setParams(Map 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;
}
//...
}