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