2010-10-11 66 views
0

如果A.jsf有一個commandLink將導航到B.jsf,那麼我會認爲當我在頁面B.jsf,我看到http:domain/host/project/B.jsf作爲URL。不過,我在地址欄上看到http:domain/host/project/A.jsf當我在導航控件中顯示URL時,我總是後退一步。有沒有辦法來解決這個問題?我的導航控件在faces-config.xml內處理。JSF頁面導航:如果A.jsf通過超鏈接導航到B.jsf,爲什麼URL顯示A.jsf而不是B.jsf

試試這個像Plaudit Design - Web Design建議。但是不解決它。

<navigation-rule> 
    <from-view-id>/CentralFeed.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>CREATE EVENT</from-outcome> 
     <to-view-id>/CreateEvent.xhtml</to-view-id> 
    </navigation-case> 
    <navigation-case> 
     <from-outcome>CREATE ARTICLE</from-outcome> 
     <to-view-id>/WriteArticle.xhtml</to-view-id> 
    </navigation-case> 
    <navigation-case> 
     <from-outcome>PROFILE</from-outcome> 
     <to-view-id>/Profile.xhtml</to-view-id> 
    </navigation-case> 
    <redirect/> 
</navigation-rule> 

回答

3

您需要添加下面的導航規則

<redirect/> 

內部進行了重定向元素重定向是內部的。重定向會導致外部重定向,以便您的瀏覽器請求新頁面。

+0

它不適合我。我用一些代碼編輯我的文章,你可以看看嗎? – 2010-10-11 20:05:53

+1

它應該進入導航案例。請注意,任何請求範圍的bean將被重新創建。另外,如果不涉及商業行爲,我建議只使用'h:outputLink'。這也是更友善的搜索引擎優化。或者,如果您已經使用JSF 2.0,請改用'h:link'。 – BalusC 2010-10-11 20:54:32

+0

謝謝BalusC +1 – 2010-10-11 22:03:29