Avec le bouton vous associez une action
, qui est une méthode dans le backing bean Vous pouvez définir params dans la fève de support et de les lire lorsque vous appuyez sur le bouton, de la méthode liée à action
. La méthode d'action doit retourner un String
, qui sera lu par le gestionnaire de navigation pour vérifier s'il doit se déplacer vers une nouvelle page, selon la configuration dans le faces-config.xml
.
<h:form>
<h:commandButton value="Press here" action="#{myBean.action}">
<f:setPropertyActionListener target="#{myBean.propertyName1}" value="propertyValue1" />
<f:setPropertyActionListener target="#{myBean.propertyName2}" value="propertyValue2" />
</h:commandButton>
</h:form>
haricots Sauvegarde:
package mypackage;
public class MyBean {
// Init --------------------------------------------------------------------------------------
private String propertyName1;
private String propertyName2;
// Actions -----------------------------------------------------------------------------------
public void action() {
System.out.println("propertyName1: " + propertyName1);
System.out.println("propertyName2: " + propertyName2);
}
// Setters -----------------------------------------------------------------------------------
public void setPropertyName1(String propertyName1) {
this.propertyName1 = propertyName1;
}
public void setPropertyName2(String propertyName2) {
this.propertyName2 = propertyName2;
}
}
Cet exemple est tiré de here (blog BalusC, sans doute il viendra vous dire de vérifier ce lien, mais je suis plus rapide: P)
Bien sûr, pour réaliser ceci, le haricot doit être défini comme session scoped
. Si vous voulez qu'il soit request scoped
vous pouvez suivre les étapes here