我的要求是在按钮单击时触发和 ajax 请求,并在不刷新页面的情况下显示验证错误。此外,如果没有错误,请导航到第二个视图。下面是我正在尝试的代码。我使用 jsf 2.1.7 和 Jboss 7.1.1 final。
<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";
}
}
我在与上述 xhtml 相同的文件夹中有一个 welcome.xhtml,我可以看到 goToWelcome() 方法也被触发,但导航没有发生。我假设它是因为根据规范侦听器属性应该有一个返回类型为 void 的方法,并且从 goToWelcome() 返回的字符串被忽略。那么有什么办法可以达到我的要求。任何形式的帮助将不胜感激。谢谢。