如何使用导航规则和f:ajax

时间:2012-02-03 04:18:13

标签: java ajax jsf-2 navigation facelets

这是我的场景:我想在某些情况下通过Ajax更新页面,在其他情况下,执行导航规则。我的用例是登录表单。如果他们的uname /密码失败,我希望他们通过ajax收到错误消息,但如果成功则导航到新页面。

是否有人使用JSF2.0 f:ajax apis完成此操作?我对标准facelets,jsf2.0等之外的解决方案并不感兴趣。

1 个答案:

答案 0 :(得分:4)

与没有ajax时的情况没有什么不同。只需通过String常规方式将下一个视图ID返回<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

另见: