Bonjour à tous,
Voila je bute depuis un moment sur le remplissage dynamique de ma liste.
Tous mes composants sont créée dans mon programme (et non sur une page jsp) avec la méthode
Donc pour la création de ma liste j'ai le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part FacesContext.getCurrentInstance().getApplication().createComponent()
avec la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 filesOneListBox = FacesContext.getCurrentInstance().getApplication().createComponent( RichSelectOneListbox.COMPONENT_TYPE ); filesOneListBox.setValueExpression( "value", (ValueExpression)getfiles( buildContext, attrProxy ) );
Où MediaFieldBinding est la classe bindée à mes composants
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7protected static Object getfiles( JSFBuildContext buildContext, AttrBindingBuilderProxy proxy ) throws ExplException { String ex = ( new StringBuffer( "${bindings." ) ).append( proxy.getCtrlBindingName() ).append( "." ).append( MediaFieldBinding.LINKED_FILES_LIST ).append( "}" ).toString(); return parseExpression( buildContext, ex ); }
J'ai donc une méthode
Qui va me créer et me retourner la liste de SelectItem.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public List getBlobs() throws Exception { if( refreshListNeeded ) refreshLinkFilesList(); return blobsList; }
Cette liste est rempli de la façon suivante d'après le résultat d'un requête SQL (je passe les détails)
Jusque là tout va bien ma liste est correctement remplie, le problème viens lors de l’exécution avec le message suivant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part blobsList.add( new SelectItem( blobDesc, blobDesc) );
J'avoue ne pas bien comprendre l'erreur.oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer _getSelectedIndex
ATTENTION: Could not find selected item matching value "[javax.faces.model.SelectItem@33f5bf7c, javax.faces.model.SelectItem@4aee808a]" in RichSelectOneListbox[UIXEditableFacesBeanImpl, id=j_id209]
J'ai essayé avec des Map, des listes, en lui passant toute sorte de paramètre, rien n'y fait il ne me remplie pas la liste.
Donc si quelqu'un a une idée je suis preneur
Cdt.
Partager