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{ Mapparams; //... 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; } //... }