Cette question est étroitement liée à este une (à laquelle il a été répondu).
Dans mon projet, je navigue entre les écrans à l'aide de boutons de commande JSF, où l'attribut action pointe vers une fonction qui renvoie une chaîne. T
<h:commandButton value="Select" action="#{searchResultsBundledBean.selectFlight}">
</h:commandButton>
selectFlight
retournerait une chaîne de caractères, par exemple selected-flight-review
qui dirigerait l'utilisateur vers selected-flight-review.xhtml
Pour des raisons de mobilité, j'ai dû faire un panelGrid
cliquable à l'aide d'un appel ajax, par ex.
<h:panelGrid>
<f:ajax event="click" listener="#{searchResultsBundledBean.clickFlight(lowFareBundledSearchItem)}"/>
</h:panelGrid
Cela fonctionne, je l'ai testé, et le résultat correct est renvoyé (testé avec l'enregistrement juste avant qu'il ne soit renvoyé).
Cependant, aucune redirection n'a lieu. L'appel ajax ne le fait pas encore. Comment faire pour que la redirection se fasse vers un autre écran ? Je n'ai pas besoin d'envoyer de variables, j'ai juste besoin que le nouvel écran soit affiché. Dois-je utiliser autre chose qu'ajax (je préférerais ne pas le faire), ou existe-t-il un moyen de faire fonctionner le système tel qu'il est actuellement ?