Struts 2 – Actionクラスの静的パラメーターの構成
場合によっては、Actionクラスに事前定義または静的なパラメーター値を割り当てる必要があります。
アクションの静的パラメーターを定義しました
Struts 2では、<param>タグを介して、struts.xmlファイルで構成できます。たとえば、
struts.xml
pages/welcome.jsp English Chinese France
3つの事前定義されたパラメータ値をLocaleActionアクションクラスに割り当てます。
アクションから静的パラメーターを取得する
struts.xmlから静的パラメーター値を取得するには、ActionクラスでParameterizableインターフェースを実装する必要があります。 また、Map propertyまたはJavaBeanプロパティを使用してアクセスできます。
アクションの静的パラメータは、デフォルトのスタック「struts-default.xml」に含まれているstaticParams Interceptorによって制御されます。
1. 地図のプロパティ
アクションクラスの初期化中に、staticParams Interceptorは、setParams()メソッドを介して、事前定義されたパラメータ値の参照をアクションのクラスに渡します。
//... import com.opensymphony.xwork2.config.entities.Parameterizable; public class LocaleAction implements Parameterizable{ Mapparams; //... public void setParams(Map params) { this.params = params; } }
2. JavaBeanプロパティ
Actionクラスの初期化中に、getterおよびsetterメソッドを適切に作成した場合、staticParams Interceptorは、「param」要素に対応する各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; } //... }