J'ai un problème concernant l'initialisation d'une liste. J'ai 2 codes qui me semblent tous 2 cohérents et qui ne se comportent pour autant pas de la même manière.
Code ok
JSF:
Bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ... <h:outputLabel id="typeLabel" for="typeListBox" value="Type"/> <h:selectOneMenu id="typeListBox" styleClass="selectOneMenu" value="#{productionProblem.problemType}"> <f:selectItems id="typeListBoxValues" value="#{productionProblemValueProvider.problemTypes}"/> </h:selectOneMenu> ...
Je précise que j'ai créé un Converter associé à la classe ProblemType.
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 ... public class ProductionProblem extends NamedObject { ... /** Type de problème */ private ProblemType problemType; ... public ProblemType getProblemType() { return problemType; } public void setProblemType(ProblemType problemType) { this.problemType = problemType; } }
Code ko
JSF :
Bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <h:outputLabel id="typeLabel" for="typeListBox" value="Type"/> <h:selectOneMenu id="typeListBox" styleClass="selectOneMenu" value="#{productionProblemController.productionProblem.problemType}"> <f:selectItems id="typeListBoxValues" value="#{productionProblemValueProvider.problemTypes}"/> </h:selectOneMenu>
Le code de ProductionProblem étant le même.
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 ... public class ProductionProblemController implements Serializable { ... /** problème de production à traiter */ private ProductionProblem productionProblem; public ProductionProblem getProductionProblem() { return productionProblem; } public void setProductionProblem(ProductionProblem productionProblem){ this.productionProblem = productionProblem; } }
Dans ce cas, j'obtiens l'erreur suivante :
java.lang.IllegalArgumentException: Value is no String
Y'a t-il un paramétrage supplémentaire à faire lorsqu'on souhaite faire de la binder une propriété d'un Bean elle même Bean ?
Le problème est-il ailleurs ?
Merci pour votre aide !
Partager