[html:select][html:options] pb de submit
j'ai un formulaire dans lequel je veux mettre une liste multiselectable
couplée à une collection dans mon formbean.
je veux donc qu'au load, elle charge la liste avec ma collection et qu'au submit, elle prenne les éléments sélectionnés pour remettre à jour ma collection.
mon jsp contient donc :
Code:
1 2 3 4
| <label for="maCollection"><bean:message key="label.Formulaire.maCollection"/></label><br>
<html:select property="maCollection" size="6" multiple="true">
<html:options property="maCollection"/>
</html:select> |
Tout ceci marche bien au chargement, maliste est initialisée avac la collection,
mais lorsque je fait un submit, je merécupère :
Code:
1 2 3 4 5
| 01:52:19,826 DEBUG [BeanUtils] setProperty(net.forms.MyBodyForm@161f39e, maCollection, [marc.dupont@wanadoo.fr,mdupont@aol.com])
01:52:19,826 DEBUG [ConvertUtils] Convert string 'marc.dupont@wanadoo.fr' to class 'java.util.Collection'
01:52:19,826 DEBUG [ConvertUtils] Using converter org.apache.commons.beanutils.converters.StringConverter@1961581
01:52:19.831 WARN!! Exception for /appli/do/MonFormWrite
java.lang.IllegalArgumentException: argument type mismatch |
Donc apparemment, chaque entrée de la liste est interprétée comme une collection et non comme un string de la collection.
Quelqu'un a-t-il une idée ?
PS
getter/setter côté form :
Code:
1 2 3 4 5 6 7 8 9 10
| public Collection getMaCollection() {
return MaCollection(;
}
public void setMaCollection((Collection newCollection() {
this.MaCollection = new ArrayList();
for (Iterator ite = newCollection.iterator(); ite.hasNext();) {
this.MaCollection.add(ite.next());
}
} |