2010-12-08 4 views
0

Dans JSF2, je me demandais comment naviguer automatiquement vers une page en fonction d'une valeur - automatiquement, sans avoir à cliquer sur un bouton ou un lien de commande? J'ai un composant composite avec des paramètres (composite: attribut) et quand ce composant composite est démarré, je voudrais que l'utilisateur soit automatiquement navigué (sans que l'utilisateur doive appuyer sur un bouton ou cliquer sur un lien de commande) à un certain page, basée sur l'un des attributs composites: Comment pourrais-je faire ça? Essentiellement, existe-t-il un moyen d'obtenir une page JSF .xhtml pour afficher automatiquement une valeur d'action - afin que cette valeur puisse être utilisée pour naviguer vers une page spécifique?JSF2 comment naviguer automatiquement, basé sur une valeur

Mon interface du composant composite ressemble à ceci: (j'ai simplifié les choses ici pour faire passer l'idée)

<composite:interface> 
<composite:attribute name="showTable2" type="Boolean" 
    required="true" shortDescription="Show the second table?" /> 
</composite:interface> 

Et je une règle de navigation comme celui-ci, où l'utilisateur accède à une page basée sur l'entrée composite: attribut. Le problème est que l'utilisateur doit être redirigé vers l'une des deux pages de la règle de navigation car cette page est celle que l'utilisateur verra en premier. Donc, aucun bouton/commandLink à utiliser pour exécuter cette règle de navigation.

<navigation-rule> 
<from-view-id>/index.xhtml</from-view-id> 
<navigation-case> 
    <from-outcome>showTable2</from-outcome> 
    <to-view-id>/twoTables.xhtml</to-view-id> 
</navigation-case> 
<navigation-case> 
    <from-outcome>dontShowTable2</from-outcome> 
    <to-view-id>/oneTable.xhtml</to-view-id> 
</navigation-case> 

Ainsi, le composite d'entrée: attribut doit être converti en une valeur de résultat et d'être exécuté pour que ma règle de navigation peut être exécutée.

Merci beaucoup!

+0

Cela peut être possible en utilisant Javascript. Pouvez-vous me montrer le code composite? – mvg

+0

J'ajoute un peu de code à ma question. Merci. – GeorgeJ

+0

Je pense que cela est lié: http://stackoverflow.com/questions/4032825/how-to-make-a-redirection-in-jsf – BalusC

Répondre

Questions connexes