2010-03-16 75 views
2

我想有條件地導航到某個頁面。如果某些條件成立,我想導航到其他頁面,否則我想保留在同一頁面上。我有這樣的事情: -命令按鈕上的JSF導航

<h:commandButton action="#{bean.navigate}"/> 

在bean.navigate我有這樣的事情: -

public String navigate(){ 
    if(value <= 0) 
     return "helloWorld"; 
    else 
     return ""; 
} 

但是,如果我返回「」,則會引發錯誤,並在H:郵件消息被追加該頁面未找到等。我如何避免這個錯誤?

回答

7

您需要返回null如果你想留在同一個頁面。

3

您需要導航規則是這樣的:

<navigation-rule> 
    <from-view-id>/firstpage.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>helloWorld</from-outcome> 
     <to-view-id>/successPage.xhtml</to-view-id> 
    </navigation-case> 
    <navigation-case> 
     <to-view-id>/failPage.xhtml</to-view-id> 
     <redirect/> 
    </navigation-case> 
</navigation-rule> 
+0

這些導航規則是否必需?我沒有使用任何導航xml文件,仍然可以導航到不同的頁面。我正在使用JSF 2.0 – TCM 2010-03-16 12:48:27