J'ai une page JSP (page1.jsp) montrant une table de données. Il y a aussi des boutons dans la table comme ceci:JSF déplacer/rediriger vers une autre page avec des données
<h:column>
<f:facet name="header" >
<h:outputText value=""/>
</f:facet>
<h:commandButton value="Show items" action="#{firstBean.displayItems}" immediate="true" />
</h:column>
Le haricot:
public void displayItems() throws IOException {
MyClass theClass = (MyClass) dataTable.getRowData();
String theId = theClass.getIdentityNumber();
// ...
}
Lorsque l'on clique sur le bouton, je veux passer à une autre page JSP (de page2.jsp). À la page 2, il y a aussi une table de données. Cette table est créée via un appel à un bean appelé "facade" et un paramètre (String-id). -À-dire lorsque le bouton est pressé, je veux être déplacé vers JSP page 2, et cette page affiche un datatable basé sur un appel comme celui-ci:
myList = facade.getDeliveriesById(theId);
donc la page 2 dépend des choses de la page 1, soit un identifiant de chaîne, ou si l'on peut en quelque sorte définir une liste?
Je suppose que la question est:
- Si je dans "firstBean.displayItems" faire une redirection vers la page jsp 2 avec un "get" paramater, après l'extraction de cet ID (voir ci-dessus)?
- Existe-t-il un moyen de définir la liste à utiliser à la page 2 dans "firstBean.displayItems"?
Quelle est la manière normale de passer d'une page à une autre dans JSF (avec des données)?
Et comment la page 2 peut-elle obtenir "theId"? – Jojje
En accédant simplement à la propriété bean, la méthode JSF habituelle est la suivante: # # {bean.theId} '. – BalusC
C'est juste que page2 utilise un différent "ManagedBean" (ou contrôleur), ce qui pourrait être difficile, je pense. – Jojje