Aber nicht die Bohne!

JAXenter-Tutorial: Wicket 6 und JSR-303 – BeanValidations

Martin Dilger

Wicket 6.4.0 ist released und ein Geschenk an die Wicket Community. In diesem vermeintlich kleinen Versionssprung versteckt sich eine kleine Perle. Wicket bietet ab 6.4.0 „Out-of-the-Box“ Support für JSR-303 BeanValidations.

Mehr zum Thema

Interesse an weiteren Infos zum Webframework Wicket? Im kommenden Java Magazin 4.2013 wird Martin Dilger die neuen Möglichkeiten von Wicket 6.4.0 in einem ausführlichen Artikel vorstellen.

Wicket-Fans, nicht verpassen!

JSR-303 BeanValidations wurde final in 2009 freigegeben. Mit Hilfe von BeanValidations lassen sich Domänen-Objekte mit Meta-Informationen annotieren und validieren. Hier lohnt sich ein genauer Blick. Zunächst erzeugen wir uns ein einfaches Maven-Archetype Projekt, um BeanValidations mit Wicket in Aktion zu erleben.

Listing 1
mvn archetype:generate -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=6.4.0 -DgroupId=de.effectivetrainings -DartifactId=bean-validations -DarchetypeRepository=https://repository.apache.org/ -DinteractiveMode=false

Der Maven-Archetype generiert uns bereits ein vollständiges Wicket-Projekt mit einer Start-Klasse, die einen Embedded-Jetty-Server startet. Im Wicket-Projekt ist für den BeanValidation Support ein neues Modul entstanden. Dieses Modul deklarieren wir als Abhängigkeit in der Maven-POM (Listing 2). Die Versionierung folgt noch nicht dem Wicket-Standard, da das Modul derzeit als experimentell deklariert ist.

Listing 2
org.apache.wicketwicket-bean-validation0.5

Zusätzlich brauchen wir eine Implementierung der JSR-303-Spezifikation. Wie verwenden hierfür den Hibernate-Validator (Listing 3).

Listing 3
org.hibernatehibernate-validator4.3.0.Final

Um BeanValidations in unserer Wicket-Anwendung verwenden zu können, ist zunächst nur eine einzige Zeile Code in der init-Methode der WicketApplication-Klasse notwendig. Diese Zeile registriert eine Instanz der neu hinzugekommenen BeanValidationConfiguration in den Meta-Daten der Applikation (Listing 4).

Listing 4
@Override
public void init()
{
	super.init();
	new BeanValidationConfiguration().configure(this);
}
Geschrieben von
Martin Dilger
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.