MyFaces 2.1重定向导航案例

时间:2011-06-17 08:26:30

标签: jsf-2 myfaces

我只是从Mojarra切换到Myfaces。通常不是太麻烦,但导航规则不像以前那样工作。我在导航案例中遇到重定向问题:

    <navigation-case>
        <from-outcome>test.edit</from-outcome>
        <to-view-id>/test.xhtml</to-view-id>
        <redirect/>
    </navigation-case>

如下所示的任何命令链接导航都将导致403错误(访问被拒绝):

 <h:commandLink value="Add" id="test" action="test.edit"/>

在这种特殊情况下,浏览器尝试重定向到test.xhtml(而不是test.jsf)。这可以通过web.xml中的安全性约束来防止。当然,如果你删除安全约束,你就会提供原始的xhtml。

如果我删除了重定向,它可以正常工作,但当然不会更改浏览器Url。

此外,我曾经能够对无效结果进行导航,例如:

<navigation-rule>
    <from-view-id>/test.xhtml</from-view-id>
    <navigation-case>
        <from-action>#{bean.save}</from-action>
        <if>#{true}</if>
        <to-view-id>/list.xhtml</to-view-id>
        <redirect/>
    </navigation-case>
</navigation-rule>

但是,当发送ajax请求以动态显示列表(不调用bean.save方法)时,页面将被重定向。

1 个答案:

答案 0 :(得分:0)

如果从Mojarra迁移到MyFaces时遇到问题,最好的办法就是向MyFaces用户邮件列表发送邮件,如果有错误则有更好的机会解决问题。试试最新版本(在JUN 2011上是2.0.7 / 2.1.1)。见MyFaces Mailing Lists

第一个似乎是一个错误,但需要更多与您的web.xml配置相关的信息。第二个是预期的。

如果是错误,您可以在MyFaces Issue Tracker

提交问题