С помощью кнопки можно поставить в соответствие action
, который является методом в бэк-боба Вы можете установить Params в бэк-боба и читать их, когда вы нажимаете кнопку, от метода, связанного с action
. Метод действия должен вернуть String
, который будет считываться обработчиком навигации, чтобы проверить, нужно ли ему переходить на новую страницу в соответствии с конфигурацией в 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>
Резервное боб:
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;
}
}
Этот пример взят из here (BalusC блог, вероятно, он придет и сказать вам, чтобы проверить эту ссылку, но я быстрее: P)
Конечно, чтобы достичь этого, bean должен быть установлен как session scoped
. Если вы хотите быть request scoped
вы можете следовать инструкциям here