...
Les balises <h:messages> et <h:message> sont traitées dans un paragraphe à suivre.
| exercice |
|---|
| Ajouter une entrée dans la barre de navigation |
|---|
| Ajouter une entrée dans la barre de navigation |
|---|
|
Ajouter une entrée Test1 dans la barre de navigation (_navigationItems.jsp) qui sera toujours affichée (pas d'attribut rendered) et dont l'action sera gotoTest1 (en dur). Ajouter une règle de navigation (dans /properties/jsf/navigation-rules.xml) pour que la sélection de cet item envoie sur la vue /stylesheets/test1.jsp. Tester. Image Modified | Info |
|---|
L'envoi vers test1.jsp ne doit pas marcher tant que la vue n'a pas été créée. |
| solution |
|---|
- Dans _navigationItems.jsp, ajouter :
| Bloc de code |
|---|
<h:menuItem id="test1" value="Test1" action="gotoTest1" />
| 2. Dans navigation-rules.xml, ajouter : | Bloc de code |
|---|
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>gotoTest1</from-outcome>
<to-view-id>/stylesheets/test1.jsp</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
|
|
|
| exercice |
|---|
| Ajouter une page JSF |
|---|
| Ajouter une page JSF |
|---|
|
Créer la page test1.jsp, (la créer à partir de about.jsp, en ne gardant que la barre de navigation) et tester (elle doit s'afficher). Note : la page doit s'afficher maintenant qu'elle existe. | solution |
|---|
Contenu de test1.jsp : | Bloc de code |
|---|
<%@include file="_include.jsp"%>
<%@include file="_navigation.jsp"%>
|
|
|
| exercice |
|---|
| Créer une règle de navigation |
|---|
| Créer une règle de navigation |
|---|
|
Ajouter un formulaire avec un bouton Move sur la page, dont l'action gotoWelcome envoie sur la page welcome.jsp. Image Modified
| Info |
|---|
Ajouter une règle de navigation dans le fichier /properties/jsf/navigation-rules.xml. |
| solution |
|---|
1. Contenu de test1.jsp : | Bloc de code |
|---|
<%@include file="_include.jsp"%>
<%@include file="_navigation.jsp"%>
<h:form>
<h:commandButton value="Move"
action="gotoWelcome"/>
</h:form>
|
2. Dans navigation-rules.xml, ajouter : | Bloc de code |
|---|
<navigation-rule>
<from-view-id>/stylesheets/test1.jsp</from-view-id>
<navigation-case>
<from-outcome>gotoWelcome</from-outcome>
<to-view-id>/stylesheets/welcome.jsp</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
|
|
|
| exercice |
|---|
| Créer un contrôleur |
|---|
| Créer un contrôleur |
|---|
|
Ajouter une classe contrôleur Test1Controller (la créer à partir de AboutController), ajouter à cette classe une méthode callback() qui renvoie la chaîne gotoWelcome, et appeler cette méthode en réaction au bouton de la page test1.jsp. Tester. | Info |
|---|
Ne pas oublier de déclarer le bean test1Controller dans /properties/web/controllers.xml. |
| solution |
|---|
1. Création de la classe java Test1Controller qui étend AbstractContextAwareController : | Bloc de code |
|---|
avec une méthode callback :
/**
* JSF callback.
* @return A String.
*/
public String callback() {
return "gotoWelcome";
}
|
2. Déclaration du bean dans le fichier controller.xml : | Bloc de code |
|---|
<bean id="test1Controller"
class="org.esupportail.formation.web.controllers.Test1Controller"
parent="abstractContextAwareController"
scope="session">
<description>A bean to manage the test1 page.</description>
</bean>
|
3. Modification du contenu de test1.jsp: | Bloc de code |
|---|
<%@include file="_include.jsp"%>
<%@include file="_navigation.jsp"%>
<h:form>
<h:commandButton value="Move"
action="#{test1Controller.callback}"/>
</h:form>
|
|
|
...