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 List colors;
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.