Effectivement, pour l’instant nous n’avons pas fait beaucoup de Wicket dans mon Quickstart (En route vers Wicket - Quickstart (part 3/3)). Mais c’est un bon début que d’avoir une plateforme de développement qui fonctionne correctement.
Dans ce post, vous allez ajouter votre premier Composant à une Page.
Reprenez la classe [HelloPage.java] et modifiez la comme suit :
package com.noocodecommit.wicket.helloworld.wicket.pages; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; public class HelloPage extends WebPage { public HelloPage() { add(new Label("lblHello", "Salut le monde!!!")); } }
Reprenez le fichier [HelloPage.html] et modifiez la comme suit :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Ma premiere application Wicket</title> </head> <body> <h1 wicket:id="lblHello">[ce qui se trouve ici ne sera pas affiché]</h1> </body> </html>
Redémarrez votre Tomcat, un petit F5 dans votre Firefox. Et Voila !!!
Une petite explication s’impose
Wicket est un framework orienté “Composant”. Ce qui veut dire que pour faire des pages, des liens, des boutons, des champs textes, vous allez devoir utiliser des composants.
Vous avez déjà eu, sans le savoir, un aperçu de ces composants dans l’épisode 3 de “En route vers Wicket”. Et oui la fameuse [HelloPage] hérite de la classe [WebPage], qui est un des composants que vous utiliserez le plus souvent (tout le temps en fait).
Un composant Wicket est en fait une classe Java couplée à un ensemble de balise HTML. Tous les composants de Wicket sont réutilisables et sont pensés pour être étendu.
Les composants sont ajoutés à d’autres composants, pour au final former une arborescence qui représente les différents composants qui composent votre page.
Dans notre exemple, nous avons ajouté un composant « Label » à notre « HelloPage ».
Ensuite, comment faire pour que Wicket puisse faire le lien entre le composant du point de vue Java et le composant du point de vue HTML. Et bien c’est tout simple. Tous les composants doivent posséder un id unique.
C’est le premier paramètre du constructeur de la classe [Label] dans notre exemple :
add(new Label("lblHello", "Salut le monde!!!"));
Enfin dans notre HTML, nous devons trouver cet id quelque part. Wicket utilise pour ce faire l’artefact [wicket:id] dans le code source HTML. L’id doit être strictement identique dans le Java et dans le HTML.
C’est le cas dans notre exemple :
<h1 wicket:id="lblHello">[ce qui se trouve ici ne sera pas affiché]</h1>
C’est simple non ? :p
Les sources du projet se trouvent ici.











Recent Comments