Comment définir la valeur par défaut pour plusieurs cases à cocher dans Struts 2

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.

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.