Il y a 15 ans -
Temps de lecture 3 minutes
Hands on Wicket – Partie 1
Wicket est un framework plutôt en rupture avec les frameworks web actuels. Ici pas de fichier XML qui définit la navigation, pas de librairies de tags spécifiques, juste de la simplicité et du pragmatisme … tout pour nous plaire ! Wicket a choisi de ne pas mélanger les genres : les pages se font en pur html et le développement, à proprement parler, se fait en pur Java.
Dans cette première partie, nous verrons comment démarrer avec Wicket.
Quickstart
Démarrer avec Wicket est plutôt simple. Il suffit de lancer une commande Maven2, ce qui a deux avantages :
- Générer automatiquement un pom avec les dépendances Wicket
- Générer un squelette de projet Wicket
Il existe donc un archetype Wicket pour Maven2 que l’on peut utiliser comme suit :
mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.3.0-rc1 -DgroupId=com.mycompany -DartifactId=myproject
Qu’obtient-on d’intéressant avec cet archetype ?
- Un fichier pom.xml
- Un fichier webapp\WEB-INF\web.xml préconfiguré pour Wicket
- Quelques fichiers sources dans src\main\java\com\mycompany :
– Une page d’accueil constituée d’un fichier HTML (HomePage.html) et d’un fichier Java (HomePage.java)
– Une classe Java (WicketApplication.java) - Une classe Java src\test\java\com\mycompany\Start.java qui permet de lancer Jetty
Vous avez déjà une application Wicket fonctionnelle à ce stade.
Ensuite, générer la configuration Eclipse avec la commande :
mvn eclipse:eclipse
(Attention, le plugin maven eclipse n’est pas encore compatible WTP 2.0, c’est la version de WTP livrée dans Eclipse Europa, pour avoir ce support, il faut compiler le plugin maven eclipse 2.5-SNAPSHOT, en attendant sa sortie officielle.)
Configuration de l’application web
Revenons sur certains des fichiers générés par l’archetype Maven2. Pour utiliser Wicket dans une application web, il faut ajouter quelques lignes dans le web.xml. On y référence en fait un simple Servlet Filter qui lui-même pointe vers une classe de l’application.
wicket.myproject org.apache.wicket.protocol.http.WicketFilter applicationClassName com.mycompany.WicketApplication wicket.myproject /*
C’est tout pour la configuration en XML. Le reste des développements se fera en HTML et en Java !!
La pièce maîtresse
Le Servlet Filter pointe vers la classe principale de l’application qui doit hériter de WebApplication. C’est le point d’entrée de l’application Wicket. Cette classe permet :
- de configurer l’application en utilisant les nombreuses méthodes de type getXXXXSettings() (où XXXX peut être remplacé par Session, Markup, Framework, Resources, Security, etc.).
- de définir la page d’accueil en surchargeant la méthode getHomePage() :
import org.apache.wicket.protocol.http.WebApplication; public class HelloWorldApplication extends WebApplication { public void init() { // getXXXSettings().set ...... } /** * @see org.apache.wicket.Application#getHomePage() */ public Class getHomePage() { return HelloWorld.class; } }
Cette « HomePage » sera affichée, par défaut, lorsqu’un utilisateur accédera à l’application sans adresser directement une page visible de l’application (nous reviendrons sur ce point dans les articles suivants).
Et voilà, la magie Wicket vient d’opérer : vous avez déjà une application exécutable. Pour la tester, c’est encore très simple.
Le pom Maven2, généré par l’archetype Wicket, est configuré pour pouvoir lancer jetty avec l’application web.
Démarrer le serveur Jetty (préconfiguré lui aussi dans le POM généré) via :
mvn jetty:run
Ouvrez votre navigateur à l’adresse http://localhost:8080/myproject. Vous verrez apparaître votre première application Wicket :-).
A bientôt, pour de nouvelles aventures avec Wicket …
Commentaire
4 réponses pour " Hands on Wicket – Partie 1 "
Published by hgomez , Il y a 15 ans
On peut utiliser un archetype plus récent :
-DarchetypeVersion=1.3.1