Comment définir la valeur par défaut pour plusieurs cases à cocher dans Struts 2
Dans Struts 2, vous pouvez créer plusieurs cases à cocher avec le même nom via la balise<s:checkboxlist>. La partie délicate est de savoir comment définir la valeur par défaut dans les multiples cases à cocher. Par exemple, une liste de cases à cocher avec les options «rouge», «jaune», «bleu», «vert», et vous souhaitez définir à la fois «rouge» et «vert» comme valeurs vérifiées par défaut.
Téléchargez-le -Struts2-default-value-multiple-checkboxes-example.zip
1. exemple
Un exemple de<s:checkboxlist>
Résultat du code HTML suivant
Classe d'action pour fournir une liste des options de couleur aux cases à cocher.
//... public class CheckBoxListAction extends ActionSupport{ private Listcolors; private String yourColor; public CheckBoxListAction(){ colors = new ArrayList (); colors.add("red"); colors.add("yellow"); colors.add("blue"); colors.add("green"); } public List getColors() { return colors; } //... }
2. Valeur vérifiée par défaut unique
Pour définir l'option «red» comme valeur cochée par défaut, ajoutez simplement une méthode dans la classe Action et renvoyez une valeur «red».
//... public class CheckBoxListAction extends ActionSupport{ //add a new method public String getDefaultColor(){ return "red"; } }
Dans les<s:checkboxlist> tag, ajoutez un attribut de valeur et pointez sur la méthodegetDefaultColor().
Struts 2 est suffisamment intelligent pour faire correspondre la valeur «defaultColor» à la propriété Java correspondantegetDefaultColor().
Exécutez-le à nouveau, l'option "rouge" sera cochée par défaut.
2. Plusieurs valeurs vérifiées par défaut
Pour définir plusieurs valeurs «red» et «green» comme valeur vérifiée par défaut, renvoyez simplement un «String []» au lieu d'une «chaîne», Struts 2 la correspondra en conséquence.
//... public class CheckBoxListAction extends ActionSupport{ //now return a String[] public String[] getDefaultColor(){ return new String [] {"red", "green"}; } }
Exécutez-le à nouveau, les options «red» et «green» seront cochées par défaut.