2011-06-17 72 views
0

我只是從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方法),那麼頁面重定向。

回答

0

如果您在從Mojarra移動到MyFaces時遇到問題,最好的辦法是發送郵件到MyFaces的用戶郵件列表,所以如果有錯誤有更好的機會解決它。嘗試最新版本(2011年6月爲2.0.7/2.1.1)。請參閱MyFaces Mailing Lists

第一個似乎是一個錯誤,但需要更多與您的web.xml配置相關的信息。第二個是預期的。

如果是bug,可以在這裏提出問題MyFaces Issue Tracker