Vous n'êtes pas connecté. Connexion
|
|
TP2 2011 EJB 3.1 / JSF2De $1Table des matièresIntroductionDans cette séance :
Première partie : étude du modèle de navigation PRG (Post Redirect Get)Objectifs de cette partie :
Important : dans ce TP vous utiliserez des backing bean de portée "Requête". Il faut toujours essayer de limiter au maximum la portée des beans pour éviter l'encombrement de la mémoire (ce qui peut être un problème pour les sites Web très fréquentés). Evidemment dans certains cas, la portée "Session" est la plus indiquée (par ex pour un backing bean qui gère les connexions par login/password). Exemple 1 : analyse d'un post tout simpleNous allons étudier une application qui contient 2 pages JSF qui se référencent :
Vous créerez un nouveau projet de type Web Application. Utilisez simplement le menu "new/JSF Page" pour créer les pages. Voici le code des deux pages en question : Index.xhtml <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Test 1</title> </h:head> <h:body> <h:form> <h:outputLabel value="Entrez un nombre" for="nombre"/> <h:inputText id="nombre" value="#{bean.nombre}"/> <h:commandButton value="Valider" action="page2"/> </h:form> </h:body> </html> page2.xhtml <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Test 1</title> </h:head> <h:body> <h:form> <h:outputLabel value="Entrez un nombre" for="nombre"/> <h:inputText id="nombre" value="#{bean.nombre}"/> <h:commandButton value="Valider" action="page2"/> </h:form> </h:body> </html> Testez en entrant autre chose qu'un nombre entier (un message doit s'afficher si vous avez bien écrit votre application). Essayez de faire afficher au début dans la zone de saisie le nombre entré précédemment quand vous saisissez un nouveau nombre. Remarquez-vous des anomalies quant à l'URL affiché par le navigateur ? Rechargez la page qui affiche les 5 nombres. Que fait le navigateur ? Expliquez. Est-ce possible de mettre un signet sur la page 2 pour un certain nombre. Par exemple 5 ; la page 2 affichera les nombres 6 à 10 qui sont censés représenter une information importante sur le nombre 5... Ce TP étudie un modèle, appelé PRG, pour ne plus avoir ce genre de problème.
|
Powered by MindTouch Deki Open Source Edition v.8.08 |