Entwicklung & Design

Einführung in das Framework Apache Wicket: Java mit Leichtigkeit

Komponentenbasierte Web-Frameworks für Java gibt es viele. Die meisten glänzen jedoch weniger durch einen leichtgewichtigen, objektorientierten Ansatz mit Kontrolle über den erzeugten HTML-Code, sondern durch langwierige XML-Konfiguration und komplizierte Komponentenmodelle. Das Open-Source-Framework Apache Wicket ändert dies.

Der Kern des schlanken Frameworks verschreibt sich der Manipulation von Markup (XML/XHTML) durch Java. Ein wohldurchdachtes Komponentenmodell ermöglicht die Programmierung von Webanwendungen analog zu GUIs mit der vollen Kontrolle über den erzeugten Code. Viele mitgelieferte Komponenten ermöglichen dabei den schnellen Aufbau einer funktionalen Oberfläche. Dieser Artikel gibt eine kurze Einführung in Apache Wicket anhand einiger Beispiele. Der komplette, lauffähige Code steht über den Softlink am Ende des Artikels zum Download bereit.

Java + HTML = Wicket

Ein einfaches Beispiel soll den Aufbau einer Webanwendung mit Wicket verdeutlichen. Eine Anwendung in Wicket besteht immer aus einem Application-Objekt, das die Konfiguration festlegt, und mehreren Seiten für verschiedene Ansichten. Für eine Seite sind zwei Dateien notwendig: eine Java-Klasse und der HTML-Code. Dem „Convention over Configuration“-Ansatz [1] folgend, ist der Name der Klasse die Basis für den Namen des Markup-Dokuments.

JAVA ExampleApplication.java
public class ExampleApplication extends WebApplication {
	public Class getHomePage() {
		return HelloWorld.class;
	}
}

Listing 1

JAVA HelloWorld.java
public class HelloWorld extends WebPage {
	public HelloWorld() {
		add(new Label("message", "Hello, World!"));
	}
}

Listing 2

HTML HelloWorld.html
<html>
<body>
<h1 wicket:id="message">[My message]</h1>
</body>
</html>

Listing 3

Für die Applikationsklasse „ExampleApplication“ reicht es aus, eine Einstiegsseite festzulegen, die als Startseite dargestellt wird. Basis für alle Seiten ist die Klasse „WebPage“, die Komponenten werden im Konstruktor mittels „add(…)“ zur Seite hinzugefügt. Die Komponente „Label“ wird zur Darstellung von Text verwendet – in diesem Fall „Hello, World!“. Die ID „message“ ordnet das Label einem Tag mit dem „wicket:id“-Attribut gleichen Werts zu. Der Inhalt des Tags wird bei der Ausgabe durch die gerenderte Komponente ersetzt. Die zugehörige Markup-Datei „HelloWorld.html“ ist gültiges HTML und kann direkt im Browser betrachtet werden. Dies ist in Wicket generell der Fall und vereinfacht die Entwicklung und Zusammenarbeit beim Design der Oberfläche.

Webapplikationen in Java
Eine Webapplikation wird in Java durch einen so genannten
Servlet-Container (z. B. Tomcat oder Jetty) ausgeführt und in ein
spezielles Paket geschnürt (WAR).Eine Datei „web.xml“ definiert die vorhandenen Ressourcen einer
Webapplikation, wie z. B. Servlets, Filter und Weiteres. Durch den
Einsatz eines speziellen Build-Tools wie Maven oder Ant passiert der
Aufbau der benötigten Dateistruktur automatisch.
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Ein Kommentar
DerPapst
DerPapst

Net schlecht, der Artikel, könnte aber ein *bisschen* ausführlicher sein.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung