Professional Documents
Culture Documents
La particularit de cette solution est que lon nutilise pas le concept dEJB. En effet, les beans et
pages web vont directement venir se greffer sur la couche DAO. Cette solution peut paratre plus
longue car on recre tout depuis le dbut ( partir de JPA) mais en fait, elle est rapide mettre en
place.
Attention ne pas choisir une stratgie englobant la gnration des tables. Elles existent dj grce
au script SQL que nous avons utilis au dpart.
Dans la partie Configuration Files , le fichier persistence.xml apparat.
Partie 2.2. Dans un deuxime temps, nous allons crer des entits JPA. Comme prcdemment
faire Clic Droit / New / Other.
Etant donn quil sagit de la gnration dentits JPA, on peut choisir JPA comme nom de
package.
Veuillez bien choisir java.util.List pour Collection Type (pour avoir plus de lisibilit).
Le projet se prsente maintenant comme suit :
Dans la classe Rv nous ajoutons un nouveau constructeur permettant de crer un rendez vous en
donnant une date, un client et un jour.
public Rv(Date jour, Clients client, Creneaux creneau) {
this.jour = jour;
this.idClient = client;
this.idCreneau = creneau;
}
10
11
12
java.text.SimpleDateFormat;
java.util.List;
javax.persistence.EntityManager;
javax.persistence.EntityManagerFactory;
javax.persistence.EntityTransaction;
javax.persistence.Persistence;
jpa.Clients;
jpa.Creneaux;
jpa.Medecins;
jpa.Rv;
13
14
Remarques
Notez que nous dfinissons une mthode Init() et une mthode close(). Ces deux mthodes vont
nous tre indispensables par la suite.
15
Lorsque que vous faites un clic droit sur le projet et cliquer sur Run vous devriez arriver au
mme rsultat tant donn que la page index.xhtml est la page daccueil du projet.
NB : Remarquez lextension .xhtml qui ici sera spcifique aux pages JSF.
16
17
Cette page contiendra le rsultat de notre requte partir de la page index.xhtml pour avoir la liste
de clients.
18
Pour ce faire, nous allons rajouter un fichier de configuration : faces-config.xml. Ce fichier contient
les rgles de navigation dune page vers une autre et la dfinition des beans.
Sur le dossier Web-INF, clic droit, ajouter un nouveau fichier :
19
Nous allons maintenant dfinir les rgles de navigation. Modifier le fichier comme suit :
<?xml version='1.0' encoding='UTF-8'?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webfacesconfig_2_0.xsd">
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>clients</from-outcome>
<to-view-id>/clients.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Cela signifie quand la page index.xhtml va mettre une chaine de caractre clients le serveur
va lancer la page clients.xhtml.
20
Nous allons crer un package nomm Bean dans lequel nous allons dfinir une classe nomme
IndexClient qui va servir dintermdiaire vers JPA.
21
22
Dans Source Package, faire un clic droit sur bean et choisir Java Class
23
java.util.ArrayList;
java.util.List;
dao.DaoJpa;
javax.faces.model.SelectItem;
jpa.Clients;
Remarque
Notez que nous dfinissons une mthode retrieveClientsfromDAO () qui renvoie la liste des
clients en utilisant les mthodes init() et bien close() prcdemment dfinies.
24
Modifiez la page index.xhtml comme suit pour y rajouter un bouton dappel de la page
clients.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">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Hello from Facelets ! This is the index page !
<h:form>
<br/>
<h:commandButton action="#{IndexClient.retrieveClientsfromDao}" value="getClients"/>
</h:form>
</h:body>
</html>
25
27