Son utilisation est assez simple finalement.
Voici un exemple d'utilisation.
Dans votre JSP, ajouté :
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html:select property="proprietaire" > <html:optionsCollection name="InputForm" property="booleanList" label="label" value="value" /> </html:select>Dans votre formulaire ajoutez :
import org.apache.struts.util.LabelValueBean; public class InputForm extends ActionForm { private String proprietaire ; private List<LabelValueBean> booleanList = new ArrayList<LabelValueBean>() ; public InputForm() { booleanList.add(new LabelValueBean("OUI", "true")) ; booleanList.add(new LabelValueBean("NON", "false")) ; } public void setBooleanList(List<LabelValueBean> booleanList) { this.booleanList = booleanList; } public List<LabelValueBean> getBooleanList() { return booleanList; } public void setProprietaire(String proprietaire) { this.proprietaire = proprietaire; } public String getProprietaire() { return proprietaire; } }Le principe de fonctionnement est le suivant :
- Struts génère la liste avec le contenu de l'attibut booleanList (property="booleanList") du formulaire InputForm (name="InputForm")
- Ensuite, il prend la valeur de l'attribut proprietaire (property="proprietaire") pour sélectionner la bonne option.
- A la validation du formulaire, il valorise l'attribut proprietaire.
C'est l'attribut label="label" et value="value" qui indique quelle propriété de l'objet se trouvant dans la liste, prendre.
En effet, la classe LabelValueBean contient :
public class LabelValueBean implements Serializable { private String label; private String value; }Cela veut donc dire qu'on peut utiliser nos propre objet et simplement indiquer les attributs à prendre.
Pour ceux qui ne souhaite pas utiliser de liste dynamique, il est possible d'utiliser directement :
<html:option value="0">Select Langue</html:option> <html:option value="1">France</html:option> <html:option value="2">English</html:option>dans le html:select
Aucun commentaire:
Enregistrer un commentaire