Bonjour,

Toujours débutant en wicket et toujours en galère. J'ai une nouvelle question.

J'ai une DropDownChoice alimentée avec une liste de bean contenant (pour simplifier) une paire clef/valeur.

J'ai besoin que mes balises <option> prennent l'id correspondant à la clef du bean et que la valeur affichée correponde à la valeur du bean.

Pour cela j'utilise un choiceRenderer que je passe à la construction de ma dropDownChoice. Petit problème, j'ai une exception :

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
 
15:52:53,548 ERROR RequestCycle(1521) - The expression 'idZone' is neither an index nor is it a method or field for the list class java.util.ArrayList
org.apache.wicket.WicketRuntimeException: The expression 'idZone' is neither an index nor is it a method or field for the list class java.util.ArrayList
        at org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:373)
        at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:287)
        at org.apache.wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:90)
        at org.apache.wicket.markup.html.form.ChoiceRenderer.getIdValue(ChoiceRenderer.java:145)
        at org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.getModelValue(AbstractSingleSelectChoice.java:166)
        at org.apache.wicket.markup.html.form.FormComponent.getValue(FormComponent.java:896)
        at org.apache.wicket.markup.html.form.AbstractChoice.onComponentTagBody(AbstractChoice.java:353)
        at org.apache.wicket.Component.renderComponent(Component.java:2619)
        at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
        at org.apache.wicket.Component.render(Component.java:2450)
        at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
        at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
J'imagine que j'ai encore un petit souci de modele. Je pensais que en ayant un CompoundPropertyModel sur mon form, je n'ai plus besoin d'en définir pour chaque nouveau composant. Mais je dois me planter

Voici mon CompoundPropertyModel lié à la page

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
beanPage.setListeZones(listeZonesBean);
 
		CompoundPropertyModel pageModel = new CompoundPropertyModel(beanPage);
 
		Form form = new Form("form", pageModel) {...
Voici le code de ma dropDownChoice :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
IChoiceRenderer choiceRenderer = new ChoiceRenderer<ZoneBean>("nom", "idZone");
 
		DropDownChoice<ZoneBean> ddZones = new DropDownChoice<ZoneBean>("listeZones", beanPage.getListeZones(), choiceRenderer);
Si besoin, j'avais déjà posté le reste du code dans un post précédent :
http://www.developpez.net/forums/d99...oice-listview/

J'ai eu beau chercher sur google, rien de trouvé. Merci d'avance