2010-03-16 9 views
2

Je souhaite naviguer conditionnellement sur une page. Si une condition est vraie je veux naviguer vers une autre page, je veux rester sur la même page. J'ai quelque chose comme: -Navigation JSF sur le bouton de commande

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

dans bean.navigate j'ai quelque chose comme: -

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

Mais si je retourne "", erreur est renvoyée et h: un message des messages est ajouté cette page pas trouvé etc. Comment puis-je éviter cette erreur?

Répondre

7

Vous devez retourner null si vous voulez rester à la même page.

3

Vous devez règle de navigation comme ceci:

<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

Ces règles de navigation sont-elles nécessaires? Je n'ai pas utilisé de fichier XML de navigation et je suis toujours capable de naviguer vers des pages différentes. J'utilise JSF 2.0 – TCM

Questions connexes