0

我只是从 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。

如果我删除重定向它工作得很好,但当然不会改变浏览器网址。

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

<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 方法)时,页面将被重定向。

4

1 回答 1

0

如果您在从 Mojarra 迁移到 MyFaces 时遇到问题,最好的办法是向 MyFaces 用户邮件列表发送邮件,这样如果有错误,就有更好的机会解决。尝试最新版本(2011 年 6 月为 2.0.7 / 2.1.1)。查看MyFaces 邮件列表

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

如果是错误,您可以在此处提交问题MyFaces 问题跟踪器

于 2011-06-25T04:29:34.057 回答