Struts 2 - Configurer le paramètre statique pour la classe Action
Téléchargez-le -Struts-Action-Static-ParamExample.zip
Dans certains cas, vous devrez peut-être affecter des valeurs de paramètres prédéfinies ou statiques à une classe Action.
Défini le paramètre statique pour une action
Dans Struts 2, vous pouvez le configurer dans le fichierstruts.xml, via la balise<param>, par exemple,
struts.xml
pages/welcome.jsp English Chinese France
il affecte trois valeurs de paramètres prédéfinies à une classe ActionLocaleAction.
Obtenez le paramètre statique d'Action
Pour obtenir les valeurs des paramètres statiques destruts.xml, la classe Action doit implémenter l'interfaceParameterizable. Et il peut être accessible avec la propriétéMap property ouJavaBean.
Les paramètres statiques de l’action sont contrôlés par lesstaticParams Interceptor, qui sont inclus dans la pile par défaut «struts-default.xml».
1. Propriété de la carte
Lors de l’initialisation de la classe Action, l’intercepteur staticParams transmettra une référence des valeurs de paramètre prédéfinies à la classe Action via la méthodesetParams().
//... import com.opensymphony.xwork2.config.entities.Parameterizable; public class LocaleAction implements Parameterizable{ Mapparams; //... public void setParams(Map params) { this.params = params; } }
2. Propriété JavaBean
Lors de l'initialisation de la classe Action, si vous avez correctement créé les méthodes getter et setter, staticParams Interceptor définira les valeurs de paramètre prédéfinies pour chaque propriété JavaBean qui correspond aux éléments «param».
//... 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; } //... }