Struts 2 - Konfigurieren Sie den statischen Parameter für die Action-Klasse
Laden Sie es herunter -Struts-Action-Static-ParamExample.zip
In einigen Fällen müssen Sie möglicherweise einige vordefinierte oder statische Parameterwerte für eine Action-Klasse zuweisen.
Definierte den statischen Parameter für eine Aktion
In Struts 2 können Sie es in der Dateistruts.xmlüber das Tag<param>konfigurieren. Beispiel:
struts.xml
pages/welcome.jsp English Chinese France
Es weist einer AktionsklasseLocaleActiondrei vordefinierte Parameterwerte zu.
Rufen Sie den statischen Parameter von Action ab
Um die statischen Parameterwerte vonstruts.xml zu erhalten, muss die Action-Klasse dieParameterizable-Schnittstelle implementieren. Der Zugriff kann entweder mit der EigenschaftMap property oderJavaBeanerfolgen.
Die statischen Parameter der Aktion werden durchstaticParams Interceptor gesteuert, die im Standardstapel "struts-default.xml" enthalten sind.
1. Map-Eigenschaft
Während der Initialisierung der Aktionsklasse übergibt der staticParams Interceptor über die MethodesetParams()eine Referenz der vordefinierten Parameterwerte an die Klasse der Aktion.
//...
import com.opensymphony.xwork2.config.entities.Parameterizable;
public class LocaleAction implements Parameterizable{
Map params;
//...
public void setParams(Map params) {
this.params = params;
}
}
2. JavaBean-Eigenschaft
Wenn Sie während der Initialisierung der Action-Klasse die Getter- und Setter-Methoden ordnungsgemäß erstellt haben, legt der staticParams-Interceptor die vordefinierten Parameterwerte für jede JavaBean-Eigenschaft fest, die den "param" -Elementen entspricht.
//...
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;
}
//...
}