Mittwoch, 23. März 2011

HTML generieren mit rendersnake

An APIs und Systemen, die HTML auf den Bildschirm bringen, herrscht ja kaum ein Mangel. Ob XSL generiert oder per JSP erzeugt, für beinahe jeden Geschmack ist was dabei. Kürzlich bin ich auf das renderSnake-Projekt aufmerksam geworden. Damit lässt sich HTML mittels Kettenschreibweise (Fluent-Pattern) erzeugen. Ich würde den Einsatz an der Stelle verorten, wo JSP nicht gemocht wird und reine Servlets auch nicht wirklich hübsch anzusehen sind, wenn sie HTML ausgeben sollen. Bestimmt fällt dem einen oder anderen aber noch was besseres ein.

Mit renderSnake sieht das ganze dann zum Beispiel so aus:

public void renderOn(HtmlCanvas html) throws IOException {       
    html
      .div(id("search"))
      .form(
           id("search-form")
           .method("POST")
           .action(this.getClass().getName()))
         .write("Search ")
         .input(name("search-text").type("text"))._input()
      ._form()
      ._div();
    }

Auf jeden Fall eine interessante Lösung, weil zum einen die durchgängige Schreibweise einen gut lesbaren Code erzeugt, zum anderen maximale Flexibilität erhalten bleibt, eben weil man den Java-Code-Scope nie verlässt. Somit stehen auch die gewohnten Refactoring-Tools weiter zur Verfügung, die es zwar auch für JSP gibt, meiner Meinung nach aber an das Eclipse-Refactoring für Java nicht herankommen.

Interessant wäre noch, wie gut das Zusammenspiel mit CSS aussieht bzw. wie man das ausgestalten könnte. Dazu habe ich zumindest nichts vorgegebenes gefunden. Aber man kann ja auch selber noch kreativ werden.

via Dark Views
related java.dzone.com, philemonworks.wordpress.com
project renderSnake

Keine Kommentare:

Kommentar veröffentlichen