ice:InputText supprime la valeur liée au chargement
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:
Code:
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;
}
} |
A la fin de cette méthode, le backed bean contient bien l'objet ainsi que ses informations.
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.
Code:
1 2 3
|
<ice:inputText value="#{tagBean.name}" visible="true"/>
<ice:outputLabel value="#{tagBean.name}"/> |
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.
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!!!