Publié par

Il y a 11 années -

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 …

Publié par

Commentaire

4 réponses pour " Hands on Wicket – Partie 1 "

  1. Publié par , Il y a 11 années

    On peut utiliser un archetype plus récent :

    -DarchetypeVersion=1.3.1

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Xebian, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.