Bonjour!
Je bloque sur un problème depuis maitenant 2 jours, c'est un appel à l'aide!
J'ai un formulaire de recherche et, lorsque je clique sur un des résultats, une popup (ice:panelPopup) s'affiche avec les détails du résultat sélectionné.
Lors du click, une méthode est appelée afin de charger le résultat selectionné dans un backed bean:
A la fin de cette méthode, le backed bean contient bien l'objet ainsi que ses informations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void showDetails(RowSelectorEvent event) { Iterator it = getList().iterator(); while (it.hasNext()) { currentTag = (Tag) it.next(); if (currentTag.isSelected()) {GeneralHelper.setManagedBean(GeneralConstants.MANAGED_BEAN_TAG, currentTag); break; } }
La popup contient des ice:inputText liés à des proriétés du bean. Tous ces inputText sont vides. Si je les remplace par des ice:outputText, aucun souci, la valeur s'affiche bien. Lorsque j'affiche la même valeur avec un ice:inputText et un ice:outputText, aucune valeur ne s'affiche.
Avec le mode debug, j'ai remarqué que, au chargement de la page, les méthodes "setXXX" de chacune des propriétés sont appelées avec null en paramètre (uniquement s'il y a des ice:inputText) une fois avant l'appel de ma méthode et une fois après.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <ice:inputText value="#{tagBean.name}" visible="true"/> <ice:outputLabel value="#{tagBean.name}"/>
Je ne parvient pas à comprendre ce qui se passe.
Plus surprenant encore, c'est que si je reviens à mon écran de recherche et que je selectionne un autre résultat, ca fonctionne parfaitement. Ca plante à chaque fois sur le premier resultat que je selectionne, peu importe lequel.
Help!!!
Partager