我的要求是觸發並且在按鈕單擊ajax請求並顯示出與頁面刷新驗證錯誤。另外,如果沒有錯誤,請導航到第二個視圖。下面是代碼即時嘗試。我使用jsf 2.1.7和Jboss 7.1.1 final。JSF 2 <f:ajax>與頁面導航
<h:form>
<h:inputText value="#{helloBean.name}"></h:inputText>
<h:commandButton value="Welcome Me" action="#{helloBean.goToWelcome}">
<f:ajax event="click" listener="#{helloBean.goToWelcome}"></f:ajax>
</h:commandButton>
</h:form>
HelloBean.java
@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {
public String goToWelcome(){
System.out.println("in goToWelcome");
return "welcome";
}
}
我在同一個文件夾welcome.xhtml如上XHTML和我能看到goToWelcome()方法也被解僱,但導航不會發生。我假設它是因爲根據spec listener屬性應該有一個帶有void返回類型的方法,並且從goToWelcome()返回的字符串被忽略。那麼有什麼方法可以達到我的要求?任何形式的幫助將不勝感激。謝謝。