我只是从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方法)时,页面将被重定向。
答案 0 :(得分:0)
如果从Mojarra迁移到MyFaces时遇到问题,最好的办法就是向MyFaces用户邮件列表发送邮件,如果有错误则有更好的机会解决问题。试试最新版本(在JUN 2011上是2.0.7 / 2.1.1)。见MyFaces Mailing Lists
第一个似乎是一个错误,但需要更多与您的web.xml配置相关的信息。第二个是预期的。
如果是错误,您可以在MyFaces Issue Tracker
提交问题