Wie in den Kommentaren der letzten Tage sichtbar wurde, eignet sich Wicket nicht “ungeschminkt” für Webseiten, die ihre Zustandsinformationen klassisch in URL-Parametern ablegen. In meinem Buch beschreibe ich eine einfache Variante, die bereits zum Ziel führen kann.
Die Herausforderung liegt darin, dass man von den Vorteilen, die Wicket mitbringt nicht all zu viele einbüßt. Daher werde ich mich in den nächsten Tagen mal damit beschäftigen, wie man mit möglichst wenig Aufwand Anwendungen realisieren kann, die auf der einen Seite URL-Parameter benutzen, auf der anderen Seite aber nicht auf saubere Komponenten verzichten müssen.
Auch wenn es schwer ist, sich von der Herangehensweise wie man sie mit JSP,PHP,… gewöhnt ist, zu lösen, erschließt man das volle Potential von Wicket erst dann, wenn man sich auf den “Wicket-Pfad” begibt. Der einzige Aspekt, der es notwendig macht, sich mit der Frage von URL-Parametern zu beschäftigen, ist die Suchmaschinentauglichkeit der Anwendung. Da muss man allerdings auch überlegen, ob man nicht einen Sitemap generiert, die alle gewünschten Inhalte ansteuerbar macht, so dass man nicht gezwungen ist, eine SEO-taugliche Navigation aufzusetzen.
Wicket ist ganz sicher nicht für jede Anforderung geeignet. Unbestritten. Die Alternativen sind IMHO allerdings auch nicht zufriedenstellender.


Es gibt unterschiedliche Strategien, wie man Bookmarkfähige Pages erstellen kann.
Wenn man URL-Parameter nutzen will kann man dazu folgenes in der init-Methode der Application festlegen:
mount(new QueryStringUrlCodingStrategy(“binfo”, MyPage.class));
Dann kann man die URL fiolgendermassen aufrufen:
http://meinserver.de/meineApp/binfo?key1=value1&key2=value2
Das ist das geringste Problem. Hat man aber eine ganze Reihe von Komponenten, in denen auch BookmarkableLinks erzeugt werden sollen, gestaltet sich das ganze schon etwas schwieriger.
In Sachen SEO mit Java gibt es meiner Meinung nach nichts besseres als OpenCms: enorme, frei erweiterbare API, die volle Kontrolle über alle CMS Features gewährt; konfigurierbare automatische Indizierung aller nicht-binären Inhalte, automatische Sitemaps und tausend andere Sachen.
Dennoch: man muss sich hier wieder mit XML (eben doch langsam) und JSP “abgeben”. Für Seiten mit viel statischem Inhalt ist das super, aber für verzeichnis- und suchmaschinenorientierte Portale wollen wir das vermeiden.
Daher erstmal weiter Wicket – es ist auf alle Fälle “sauberer” und macht mehr Spaß. Würde mich wundern, wenn sich da in Sachen stateless nicht auch in zukünftigen Versionen noch was tut. Oder zumindest in der Community.
Eine imho sehr gute Übersicht, wie optimale Suchmaschinen-URLs aussehen sollten:
http://tinyurl.com/lqssth
Für verzeichnisorientierte Portale ist das im Prinzip ein Muss. Wir arbeiten zur Zeit an einem Portal, was genau das mit Wicket umsetzt. Einfach ist es nicht, obwohl UrlCodingStrategies natürlich eine große Hilfe, wenn auch nur die Spitze des Eisberges, sind.
Nochmals ein großes Dankeschön an Michael, der uns bisher mit seinen Erfahrungen in Wicket tatkräftig zur Seite stand. Kauft sein Buch!
Einige Infos über stateless-Seiten sind auch hier und hier zu finden. Dort trifft man auch die StatelessForm- bzw StatelessLink-Komponenten. Hmmm, die kannte ich auch nicht.