Bonjour,
je sais qu'il s'agit d'un problème classique mais je n'arrive pas à m'en dépêtrer :
De ma base de données j'extrait une liste de caracteristiques activées ou non que je transforme en une collection de beans ObjectLib dont les propriétés sont en gros :
- ObjectLib.label contient le libellé de la caractéristique
- ObjectLib.value contient 1 ou 0 suivant l'état de la caractéristique (activée ou non)
dans mon actionform il y a un attribut boardSitLibs de type Vector<ObjectLib>
et le setter et getter qui vont avec.
dans mon jsp j'ai le code suivant :
voici ce que cela donne dans la source html :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <layout:collection property="boardSitLibs" id="boardSitLibs" indexId="index" align="left" > <layout:collectionItem title="" > <layout:checkbox property="boardSitLibs[${index}].value" layout="false" /> </layout:collectionItem> <layout:collectionItem property="label"/> </layout:collection>
donc deux choses ne vont pas : d'une part il n'a pas mappé l'état de chaque caractéristique (tous les checkbox sont désélectionnées)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <tr valign="top"><th></th></tr> <tr> <td> <input type="checkbox" name="boardSitLibs[0].value" value="on"> </td> <td>posée sous un arbre / un buisson</td> </tr><tr> <td> <input type="checkbox" name="boardSitLibs[1].value" value="on"> </td> <td>posée en terrain dégagé</td> </tr><tr> <td> <input type="checkbox" name="boardSitLibs[2].value" value="on"> </td> <td>posée contre un mur</td> </tr><tr> <td> <input type="checkbox" name="boardSitLibs[3].value" value="on"> </td> <td>posée sur la terre nue</td> </tr><tr> <td> <input type="checkbox" name="boardSitLibs[4].value" value="on"> </td> <td>posée sur le gazon</td> </tr><tr> <td> <input type="checkbox" name="boardSitLibs[5].value" value="on"> </td> <td>posée sur des feuilles mortes</td> </tr><tr> <td> <input type="checkbox" name="boardSitLibs[6].value" value="on"> </td> <td>posée sur un terrain en friche</td> </tr></table></td></tr></table>
et d'autre par il me met le message d'erreur suivant quand je soumet
: org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:515)
qu'en pensez vous?
merci,
Olivier
Partager