2010-03-16 71 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