[JSF] Problème d'initialisation
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:
Code:
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>
... |
Bean
Code:
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;
}
} |
Je précise que j'ai créé un Converter associé à la classe ProblemType.
Code ko
JSF :
Code:
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> |
Bean
Code:
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;
}
} |
Le code de ProductionProblem étant le même.
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 !