JavaServer Faces - JSFChapitres traités IntroductionJavaServe r Fac es, une tec hno logie rel ati vement récente dan s le mon de de J2EE, a été conçu e pou r simp lifi fier enc ore plu s ledévelo ppement des applic ation s Web. Il est facile de mett re en oeuvre des pages Web ainsi que les composant s Web avec JSF enpermettant une connexion adaptée entre ces composants d'interface et la logique métier donnée par les objets distribués. Il permetégalement d'automatiser le fonctionnement entre les JavaBeans et la page de navigation Web. IntroductionPourquoi JSF ? Jusqu'à présent nous avons découvert plusieurs composants Web que sont les servlets et les pages JSP. Ces composants associés à des JavaBeans (ou des EJB)permettent de mettre en oeuvre toutes les applications Web de façon rationnel, surtout si nous respectons l'architecture MVC (Modèle-Vue-Contrôleur). Rappelons que cettearchitecture nous offre de bien séparer la présentation, la gestion des requêtes ainsi que le traitement issu de la couche métier. Alors pourquoi cette nouvelle technologie JSF ? Qu'apporte t-elle de plus ?JSF utilise et rend plus pratique le modèle MVC dont je rappelle l'architecture :Le contrôl eur que nous avions mis en oeuvre devai t récup érer l'ensemble des requêtes, et après analyse devait activer le modèle correspon dant et pour finirproposer l'affichage en sollicitant la bonne page JSP. Le problème, c'est que le code de la servlet devient vite conséquent et très difficile à lire. Par ailleurs, à chaquefois que vous voulez définir une nouvelle page, il est nécessaire de recompiler la servlet contrôleur. Avec la technologie JSF bien entendu, le contrôleur existe toujours, mais nous n'y avons plus accès (le contrôleur se nommeFacesServlet). Le contrôleur récupèretoujours les requêtes et réagit en conséquence. Toutefois, la navigation et le traitement de la requête est décrit au travers d'un fichier de configuration<faces-config.xml>qu'il est très facile à écrire (et donc à lire). Il se complète au moyen de balises XML spécifiques. Grâce à cette solution, il n'est plus nécessaire derecompiler la servlet contrôleur, et par voie de conséquence, les modifications éventuelles sont faciles à mettre en oeuvre. JSF est différent parce qu'il a besoin d'un autre composant Web qui lui sert de support. Il ne peut pas exister tout seul. JSF est donc une surcouche qui se placeau dessus des autres composants Web en utilisant pleinement toutes leurs compétences. JSF est avant tout un ensemble de bibliothèques de balises personnaliséesqui sont capables d'être mise en oeuvre par les pages JSP. Finalement, la connaissance des autres composants Web comme les JSP et les servlets est requise pour bien maîtriser l'élaboration de JSF. Nous avons précéd emment vu que le couple Page JSP et JavaBeans permet tait de séparer la logiq ue méti er de la présentat ion, mais malhe ureuse ment pastotalement. En effet, dans la page JSP, vous êtes au moins obligé de déclarer ces JavaBeans avec leurs différentes propriétés afin que la page JSP puisse les utiliserpar la suite. Pourtant cette démarche ne correspond spécialement à un affichage, et c'est pourtant ce qu'est censée faire une page JSP. Voici d'ailleurs un exemplede code :nombre.jspf<jsp:useBeanid="nombre"class="bean.Nombre"scope="session"/><jsp:setPropertyname="nombre"property="valeur"param="valeur"/><jsp:setPropertyname="nombre"property="maxi"value="${initParam.NombreMaxi}"/><h3><formaction="Operation.jsp">Nombre d'opérandes :