23.  Struts et Eclipse 25.  EJB et Eclipse Imprimer Sommaire Consulter avec table des matières Développons en Java avec Eclipse   v 0.80  
Copyright (C) 2003-2007 Jean-Michel DOUDOUX   

 

24. Java Server Faces et Eclipse

 

chapitre 2 4

 

Java Server Faces (JSF) est une technologie dont le but est de proposer un framework qui facilite et standardise le développement d'applications web avec Java. Son développement a tenu compte des différentes expériences acquises lors de l'utilisation des technologies standards pour le développement d'applications web (servlet, JSP, JSTL) et de différents frameworks (Struts, ...).

Le grand intérêt de JSF est de proposer un framework qui puisse être mis en oeuvre par des outils pour permettre un développement de type RAD pour les applications web et ainsi faciliter le développement des applications de ce type.

Ce chapitre contient la section :

 

24.1. Utilisation de JSF sans plug-in dédié

En attendant un plug-in fonctionnel dédié à l'utilisation de JSF dans Eclipse, il est possible de développer une application Web utilisant JSF avec Eclipse. Cependant, toutes les opérations doivent être réalisées "à la main".

Cette section va développer une petite application constituée de deux pages. La première va demander le nom de l'utilisateur et la seconde afficher un message de bienvenue en mettant  en oeuvre les outils suivants sous Windows :

Outil

Version

Rôle

JDK

1.4.2_03

 

Eclipse

2.1.3

IDE

Tomcat

5.0.28

conteneur web

plug-in Tomcat de Sysdeo 

3

Arrêt et démarrage de Tomcat

JSF implémentation de référence de Sun

1.1_01

 

 

24.1.1. Création du projet

Il faut créer un nouveau projet de type  « Java / Projet Tomcat ».

Saisissez le nom du projet, par exemple test_JSF et cliquez sur le bouton « Suivant ».

Cliquez sur le bouton « Fin ». L'assistant va créer un nouveau projet possédant une structure de répertoire typique pour une application Web.

Il faut ensuite copier les fichiers nécessaires à une utilisation de JSF dans l'application web.

Il suffit à partir d'un explorateur de fichier de faire un cliquer/glisser des fichiers *.jar du répertoire lib de l'implémentation de référence vers le répertoire WEB-INF/lib du projet. Attention, il est aussi nécessaire d'ajouter les fichier jstl.jar et standard.jar qui contiennent l'implémentation de la JSTL.

 

24.1.2. Création des éléments qui composent l'application

Il faut créer une nouvelle entité de type « Simple / Fichier » à la racine du projet et la nommer index.htm

Exemple :
<html> 
<head> 
  <meta http-equiv="Refresh" content= "0; URL=login.faces"/> 
  <title>Demarrage de l'application</title> 
</head> 
<body> 
  <p>D&eacute;marrage de l'application ...</p> 
</body> 
</html>

Il faut créer une nouvelle entité de type « Simple / Fichier » à la racine du projet et la nommer login.jsp

Exemple :
<html> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 
<f:view> 
<head> 
  <title>Application de tests avec JSF</title> 
</head> 
<body> 
  <h:form> 
    <h3>Identification</h3> 
    <table> 
      <tr> 
        <td>Nom : </td> 
        <td><h:inputText value="#{login.nom}"/></td> 
      </tr> 
      <tr> 
        <td>Mot de passe :</td> 
        <td><h:inputSecret value="#{login.mdp}"/></td> 
      </tr> 
      <tr> 
      <td colspan="2"><h:commandButton value="Login" action="login"/></td> 
      </tr> 
    </table> 
  </h:form> 
</body> 
</f:view> 
</html>

Il faut créer une nouvelle classe nommée com.jmd.test.jsf.LoginBean

Exemple :
package com.jmd.test.jsf; 

public class LoginBean { 
  private String nom; 
  private String mdp; 

  public String getMdp() { 
    return mdp; 
  } 

  public String getNom() { 
    return nom; 
  } 

  public void setMdp(String string) { 
    mdp = string; 
  } 

  public void setNom(String string) { 
    nom = string; 
  } 
}

Il faut créer une nouvelle entité de type « Simple / Fichier » à la racine du projet et la nommer accueil.jsp

Exemple :
<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<head>
  <title>Page d'accueil de l'application</title>
</head>
<body>
  <h:form>
    <h3>Bienvenue <h:outputText value="#{login.nom}"/>,</h3>
  </h:form>
</body>
</f:view>
</html>

Il faut créer une nouvelle entité de type « Simple / Fichier » dans le répertoire /WEB-INF et la nommer faces-config.xml

Exemple :
<?xml version="1.0"?> 
<!DOCTYPE faces-config PUBLIC 
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" 
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd"> 
<faces-config> 
  <navigation-rule> 
    <from-view-id>/login.jsp</from-view-id> 
    <navigation-case> 
      <from-outcome>login</from-outcome> 
      <to-view-id>/accueil.jsp</to-view-id> 
    </navigation-case> 
  </navigation-rule> 
  <managed-bean> 
    <managed-bean-name>login</managed-bean-name> 
    <managed-bean-class>com.jmd.test.jsf.LoginBean</managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 
  </managed-bean> 
</faces-config>

Il faut créer une nouvelle entité de type « Simple / Fichier » dans le répertoire /WEB-INF et la nommer web.xml

Exemple :
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.htm</welcome-file>
  </welcome-file-list>
</web-app>

Les éléments qui composent le projet sont donc les suivants :

 

24.1.3. Exécution de l'application

Il suffit alors de démarrer Tomcat en cliquant sur le bouton .

Une fois Tomcat démarré, ouvrir un navigateur et taper l'url http://localhost:8089/test_JSF/ (en remplaçant le port 8089 par celui défini dans Tomcat).

Une fois l'application démarrée, la page de login s'affiche

Il faut saisir un nom par exemple test et cliquer sur le bouton « Login ».

Cet exemple ne met pas en valeur la puissance de Java Server Faces mais propose simplement de mettre en oeuvre le minimum pour développer des applications utilisant JSF avec Eclipse.

 


  23.  Struts et Eclipse 25.  EJB et Eclipse Imprimer Sommaire Consulter avec table des matières Développons en Java avec Eclipse   v 0.80  
Copyright (C) 2003-2007 Jean-Michel DOUDOUX