© Excellent backgrounds/Shutterstock.com
Neues in Wicket 7

Big 7


Wicket ist groß geworden. Die neue Version 7 gibt sich grundsolide und kommt mit wenigen bahnbrechenden Änderungen daher. Trotzdem wurde das Release von vielen sehnsüchtig ­erwartet – ein Upgrade lohnt sich wie immer, nicht zuletzt aufgrund der Menge an Bugfixes. In diesem Artikel betrachten wir einige der interessanten Neuerungen.

Wer mit Wicket 7 ein großes Feuerwerk an neuen Features erwartet, wird möglicherweise enttäuscht sein. Die Entwickler um den Kern des komponentenorientierten Webframeworks konzentrieren sich darauf, das Framework stabiler, flexibler und einfacher zu machen. Neben den obligatorischen Updates auf die schon längst überfällige Version Java 1.7 und die nun zwingend erforderliche Servlet-3.0-Spezifikation taucht eine der interessantesten Änderungen in den Changelogs gar nicht richtig auf.

Component Queuing

Seit jeher erzwingt Wicket die doppelte Pflege der Komponentenhierarchie im Markup und den Java-Komponenten. Ein Los, mit dem sich die meisten Entwickler stillschweigend arrangiert haben. Mit Component Queuing ist eine Vereinfachung in Sicht (Listing 1).

Im Java-Code wird die identische Hierarchie gepflegt:

final WebMarkupContainer container = new WebMarkupContainer("features"); container.add(new Label("queueing", "Component Queueing")); add(container);

Mit Component Queueing erlaubt uns Wicket, in engen Grenzen die Hierarchie auf der Java-Seite aufzubrechen:

queue(new WebMarkupContainer("features")); queue(new Label("queueing", "queueing"));

Wir arbeiten mit der queue statt der altbekannten add-Methode. Die Komponenten werden nicht mehr direkt einer Komponente hinzugefügt, sondern in einer Komponenten-Queue gespeichert. Die Hierarchie kann am Ende (in der so genannten Dequeue-Phase) automatisch aus der Markup-Hierarchie hergeleitet werden.

Um Wildwuchs in der Java-Komponentenhierarchie Sorge zu tragen, wurde das Interface IQueuerRegion eingeführt, das u. a. von den Klassen Panel und Page implementiert wird. Komponenten, die in einem Panel und damit innerhalb einer QueueRegion definiert sind, müssen auch innerhalb dieser QueueRegion gequeued werden und nicht außerhalb. Eine etwas detailliertere Beschreibung und weiterführende Links zum Thema Component Queueing findet sich beispielsweise unter [1].

Data-URL-Ressourcen

Zugegebenermaßen eine Kleinigkeit, trotzdem freue ich mich, dass es diese Änderung endlich in den Core geschafft hat (auch verfügbar ab Wicket 6.20). Wicket bietet endlich standardmäßig Support für eingebettete Data-U...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang