Définition des règles de navigation
L'étape suivante de la configuration du projet consiste à définir le flux de navigation des pages Web dans votre application. Pour cet exemple d'application, vous allez définir une règle de navigation pour deux cas :
- Lorsque l'utilisateur tente de se connecter à Crystal Enterprise.
- Lorsque l'utilisateur clique sur un état dans la page contents.jsp afin de le visualiser.
Règle de navigation pour la connexion
Pour mettre en œuvre cette fonctionnalité :
- Ajoutez au formulaire de connexion une méthode action qui renvoie une chaîne indiquant si la connexion a abouti ou non.
- Définissez les règles de navigation dans le fichier
faces-config.xml
en fonction des chaînes renvoyées.
Plus tard, vous ajouterez une méthode action pour terminer la page logon.jsp qui contient le formulaire de connexion (voir Ajout d'une méthode action). Pour l'heure, supposons que la méthode renvoie la chaîne "logon_success" lorsque l'utilisateur réussit à se connecter et "logon_failure" lorsque la tentative de connexion échoue. La règle de navigation doit à présent être définie.
Pour définir la règle de navigation pour la connexion à Crystal Enterprise
- Dans la vue de l'Explorateur de projet, développez votre projet Web sous le nœud Projets Web dynamiques, puis déplacez-vous jusqu'à WebContent > WEB-INF.
- Cliquez avec le bouton droit de la souris sur faces-config.xml, puis cliquez sur Ouvrir avec > Editeur de page source XML.
- Dans le fichier, ajoutez les lignes de code suivantes entre les balises <faces-config> et </faces-config> et après toutes les balises <managed-bean> :
<navigation-rule>
<from-view-id>/logon.jsp</from-view-id>
<navigation-case>
<from-outcome>logon_success</from-outcome>
<to-view-id>/contents.jsp</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>logon_failure</from-outcome>
<to-view-id>/logon.jsp</to-view-id>
</navigation-case>
</navigation-rule>
- Enregistrez et fermez le fichier.
Cette règle de navigation définit ce qui suit :
- Lorsque les utilisateurs parviennent à se connecter à Crystal Enterprise, charger la page centrale de l'application, contents.jsp.
- Lorsqu'un utilisateur ne parvient pas à se connecter, recharger logon.jsp.
La balise <from-view-id> indique que cette règle de navigation est valide pour logon.jsp uniquement.
Règle de navigation pour l'affichage d'un état
Pour mettre en œuvre cette fonctionnalité :
- Ajoutez dans la grille des états une méthode action qui renvoie une chaîne indiquant que l'utilisateur a cliqué sur un seul état.
- Définissez les règles de navigation dans le fichier
faces-config.xml
en fonction des chaînes renvoyées.
Plus tard, vous allez ajouter une méthode action pour terminer la page contents.jsp qui contient la grille des états (voir Affichage d'un état à partir de la grille). Pour l'heure, supposons que la méthode renvoie la chaîne "view_report".
Pour définir la règle de navigation pour l'affichage d'un état
- Dans la vue de l'Explorateur de projet, développez votre projet Web sous le nœud Projets Web dynamiques, puis déplacez-vous jusqu'à WebContent > WEB-INF.
- Cliquez avec le bouton droit de la souris sur faces-config.xml, puis cliquez sur Ouvrir avec > Editeur de page source XML.
- Dans le fichier, ajoutez les lignes de code suivantes entre les balises <faces-config> et </faces-config> :
<navigation-rule>
<from-view-id>/contents.jsp</from-view-id>
<navigation-case>
<from-outcome>view_report</from-outcome>
<to-view-id>/view.jsp</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
- Enregistrez et fermez le fichier.
Cette règle de navigation définit ce qui suit :
- Lorsque les utilisateurs cliquent sur un état dans la page contents.jsp, charger la page view.jsp qui affiche le rendu de l'état.
La balise <from-view-id> indique que cette règle de navigation est valide pour contents.jsp uniquement.