[ JSP ][ MULTIBOX ] Struts Multibox checked par défaut
Salut !
Je souhaiterai lorsque j'appelle m'a page jsp, que les cases de ma multibox soit coché en fonction des valeurs contenu dans mon tableau selectedItem :
Code:
1 2 3 4 5 6
| <logic:iterate id="item" name="createDiploma" property="possibleItem">
<html:multibox property="selectedItem">
<bean:write name="item" property="value" />
</html:multibox>
<bean:write name="item" property="label" /><br />
</logic:iterate> |
Dans cet exemple possibleItem contient par exemple les valeurs {1,2,3,4,5} et selectItem les valeurs {2,3}. Lorsque j'affiche ma page jsp, je souhaiterai que les cases correspondant au valeur 2 et 3 soit cochées.
Y a-t-il une solution ?
Merci d'avance...
Re: [ JSP ][ MULTIBOX ] Struts Multibox checked par défaut
Merci ! à tous ceux et celles qui ont participés à ce post
A force de chercher j'ai fini par trouver la solution à mon problème :
===========================================
1- Dans Struts-config.xml
J'ai déclaré selectedItem dans struts-config.xml comme etant un tableau de string.
<form-property name="selectedItem" type="java.lang.String[]"/>
===========================================
2-Dans ma SERVLET
Dans mon servelet j'initialise un tableau de string avec les valeurs correspondantes
aux éléments que je souhaiterais voir cochés et je passe le tous à mon formulaire struts avant d'envoyer le tous à mon JSP.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| int count = 0;
//Initialisation d'un tableau de string
String[] selected = new String[possibleItem.size()];
//remplissage de mon tableau avec les valeurs dont cases doivent parraître cochés
iter = possibleItem.iterator();
while (iter.hasNext())
{
result = (un_bean) iter.next();
selected[count] = result.getValue();
count++;
}
//Je passe le tableau contenant les valeurs des cases à cocher à mon formulaire struts
formBean.set("selectedItem", selected); |
======================================
3- Dans ma JSP
Code:
1 2 3 4 5 6
| <logic:iterate id="item" name="createDiploma" property="possibleItem">
<html:multibox property="selectedItem">
<bean:write name="item" property="value" />
</html:multibox>
<bean:write name="item" property="label" /><br />
</logic:iterate> |
Bien entendu ce code est à adapter selon votre context mais le principle est bien là.
N'hésitez pas à m'envoyer vos remarque à ce sujet
Merci.