samedi 19 janvier 2013

Chargement de plusieurs modules au sein d'un même projet GWT

Par défaut lorsqu'on crée un projet GWT, il y a un module (point d'entrée) qui est automatiquement créé et qui porte le même nom que le projet. Comme nous allons le voir par la suite, il est tout à fait possible de définir d'autres modules et de les charger au sein du même projet.

1) Création d'un projet par défaut

Créons dans un premier temps un projet gwt nommé MultiModules.




2) Modification du module créé

Le module qui a été créé par défaut se nomme multimodules, nous allons le renommer en premiermodule

Pour cela il faut ouvrir le fichier MultiModules.gwt.xml, remplacez la balise <module rename-to="multimodules"> par <module rename-to="premiermodule">, nous allons également renommer ce fichier en PremierModule.gwt.xml. On voit dans la balise <entry-point class='com.multi.modules.client.MultiModules'/> que le point d'entrée de l'application correspond à la classe java MultiModules. Renommez cette classe en PremierModule.java et changez la balise entry-point par <entry-point class='com.multi.modules.client.PremierModule/>


Dans le point d'entrée PremierModule.java, effacez tous le code qui a été créé, construisez un widget à votre guise comme dans l'exemple suivant, c'est juste pour voir quelque chose apparaître sur notre navigateur !



Dans le dossier war, on remarque la présence de ces deux fichiers MultiModules.html et MultiModules.css. Renommez-les en PremierModule.html et PremierModule.css.



Sur la page PremierModule.html on va charger le module gwt PremierModule, pour cela il faut modifier le code suivant :



3) Ajout d'un second module

On va maintenant créer le descripteur du module, à savoir le fichier SecondModule.gwt.xml au même endroit que celui du premier module.
Le nom du module sera secondmodule et le point d'entrée sera la classe com.multi.modules.client.SecondModule comme indiqué sur l'image suivante :


Il faut maintenant créer le fichier SecondModule.java dans le package com.multi.modules.client qui se contentera d'afficher un simple label.

Il ne nous reste plus qu'à créer un fichier SecondModule.html dans le dossier war afin de charger le module que l'on vient de créer.


Vous pouvez également modifier la balise <welcome-file> du fichier web.xml afin d'y mettre la page PremierModule.html par exemple. 

4) Compilation et lancement du projet

 Pour compiler votre projet, rien de plus simple, il vous suffit de faire comme à votre habitude un GWT Compile Project... et de sélectionner le module que vous souhaitez compiler.


Après compilation des deux modules, on observe bien leur présence au sein du dossier war. Il ne vous reste plus qu'à démarer votre serveur et afin de déployer le projet dessus.


Rendez vous aux deux adresses suivantes (http://localhost:8080/MultiModules/PremierModule.html et http://localhost:8080/MultiModules/SecondModule.html) pour bien vous rendre compte que vos deux modules ont été chargés.


Le fait d'avoir plusieurs modules peut vous permettre de développer séparément deux fonctionnalités bien différentes au sein d'un même projet.



Aucun commentaire:

Enregistrer un commentaire