这是我的场景:我想在某些情况下通过 Ajax 更新页面,在其他情况下,执行导航规则。我的用例是一个登录表单。如果他们的用户名/密码失败,我希望他们通过 ajax 收到错误消息,但如果成功则导航到新页面。
有人用 JSF2.0 f:ajax api 做过吗?我对标准 facelets、jsf2.0 等之外的解决方案并不感兴趣。
最佳答案
这与不使用 ajax 时没有什么不同。只需将下一个 View ID 返回为 String
通常的方式通过<h:commandXxx action>
(因此不是 <f:ajax listener>
)。
所以,只是
<h:commandButton value="Login" action="#{bean.login}">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
与
public String login() {
// ...
return "nextpage";
}
将与没有 <f:ajax>
一样好用.它只会转到 nextpage.xhtml
.
另见:
关于java - 如何同时使用导航规则和 f :ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123625/