2013-09-24 78 views
0

在JSF中我想從下拉菜單中重定向頁面。它重定向當我使用faces-config使用navigation-rulerich:menuItem操作在沒有導航規則的情況下不重定向

<navigation-rule> 
    <from-view-id>*</from-view-id>  
    <navigation-case> 
    <from-outcome>test</from-outcome> 
    <to-view-id>/pages/design/TestDetails.xhtml</to-view-id> 
    <redirect/> 
    </navigation-case> 
</navigation-rule> 

但是,當我試圖直接通過URL,我不能重定向:

<rich:menuItem label="someLabel" action="/pages/design/TestDetails.xhtml" /> 

什麼是我的代碼錯?

+0

你試過這個:''? – Omar

+0

謝謝奧馬爾我會嘗試 –

+0

我能夠使用導航重定向,但我希望它使用動作URL重定向 –

回答

0

基本上你應該 JSF的action領域使用navigation-rule(這是他們什麼)。但是,如果你想直接把網址,然後只需添加?faces-redirect=true它(的<redirect/>navigation-rule等效):

<rich:menuItem label="someLabel" action="/pages/design/TestDetails.xhtml?faces-redirect=true" /> 

(請注意,您需要把完整路徑不僅僅是TestDetails?faces-redirect=true如@Omar的意見建議)

另外:<from-view-id>*</from-view-id>可以像這樣的規則ommited。

0

只是新的RichFaces的,發現了以下的解決方案使用javascript,似乎工作:

<rich:dropDownMenu mode="client" label="Navigate"> 
     <rich:menuItem label="Page - 1" onclick="document.location.href='samplePage.jsf'" /> 
     <rich:menuItem label="Page - 2" onclick="document.location.href='samplePage2.jsf'" /> 
    </rich:dropDownMenu> 
相關問題