我只是從Mojarra切換到Myfaces。大多不是太麻煩,但導航規則不像以前那樣工作。我在導航的情況下與重定向問題:MyFaces 2.1重定向導航案例
<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方法),那麼頁面重定向。