J'ai la page JSF suivante.La page JSF ne récupère pas la valeur de la variable du champ d'un bean géré
Le lien « Gérer Présence » est défini par le XHTML suivant:
<h:form>
<h:commandLink value="Manage Attendees" action="/Management/Event/manageAttendees?faces-redirect=true">
<f:setPropertyActionListener target="#{managerManager.currentEvent}" value="#{event}" />
</h:commandLink>
(...)
</h:form>
currentEvent est un champ dans la ManagedBean « ManagerManager » qui est fixé sur la redirection et fait référence à l'événement dans le champ de description. Il a une liste que nous voulons parcourir. Cependant, la deuxième page:
ne rend pas les attributs. Comme la liste currentEvent était vide, ce que le rapport de débogage dit que ce n'est pas. Ce qui suit est le code pour la deuxième page qui devrait obtenir le titre:
<h2>Attendees in this Event</h2>
<h:dataTable
var="attendees"
summary="List of attendees in this event."
value="#{managerManager.currentEvent.attendees}"
rules="all"
cellpadding="5">
<h:column>
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{attendees.attendee.name}" />
</h:column>
</h:dataTable>
La ManagedBean est la session scope ainsi. Il semble que la deuxième page n'a pas accès à currentEvent ... pourquoi?
La table de données est vide. Il devrait parcourir tous les participants et afficher leur nom. – Deegriz
Quel est exactement le problème maintenant? "N'affiche pas la variable" est comme si un utilisateur final observait le problème. Essayez d'observer et de décrire le problème en tant que développeur, et non en tant qu'utilisateur final. Le 'f: setPropertyActionListener' fonctionne-t-il? La méthode setter est-elle invoquée? L'argument transmis est-il correct? Est-ce la même instance de bean accédée à la page suivante ou est-ce une nouvelle instance? Etc. Modifier la question et s'il vous plaît élaborer le problème dans la perspective du développeur. – BalusC
Oui, tout cela est. Peut-être que je n'étais pas assez explicite, mon mauvais. Je pense que j'ai résolu le problème. Suppression de? Faces-redirect = true à partir de la ligne suivante: travaillé. Mais c'est supposé être là, n'est-ce pas? –
Deegriz