Taglibraries, Actions und Functions
Fabian 17. August 2009
Drei Begriffe, die man unbedingt auseinanderhalten sollte. Wieso und warum, das erkläre ich im folgenden Abschnitt! Ich setze in diesem Artikel voraus, dass jeder der ihn liest weiß was HTML und eventuell auch ein DOM-Baum ist.
Also zunächst zu den Taglibraries:
Taglibraries sind prinzipiell kleine Werkzeugkästen mit denen man viel mit wenig Aufwand erreicht. Die so genannten Tags werden in den Webseitenquelltext eingesetzt und zur Laufzeit durch entsprechende Codeabschnitte automatisch ersetzt.
Grails bietet ebenfalls eine Taglibrary an, es handelt sich hierbei um die Groovy Taglibrary. Die Referenz hierzu befindet sich hinter dem folgenden Link.
Hier ein Beispiel:
<select name="dropdown"> <option>Wert 1</option> <option>Wert 1</option> <option>Wert 1</option> <option>Wert 1</option> <option>Wert 1</option> </select>
Die Beispiel würde eine Auswahlbox erzeugen. Wenn wir das Ganze mit Grails und der GSP Taglibrary machen, dann ensteht folgendes:
class TestController { def index = { [list:["Wert 1","Wert 2","Wert 3","Wert 4","Wert 5"]] } }
<g:select name="dropdown" from="${list}" />Das Ergebnis ist am Ende das selbe. Nun fragt Ihr euch, warum sollte ich das denn so umständlich verpacken, wenn ich es auch direkt in HTML schreiben kann. Ganz einfach, denn wir wollen in unserer Applikation in Zukunft auch dynamisch Werte in die Ausgabeseiten generieren lassen. Bisher hat das Grails für uns gemacht, aber wir kommen auch immer wieder an Stellen, an denen wir das selber machen müssen. Schaut einfach mal in die Views, die Grails euch automatisch generiert hat und vergleicht den Inhalt mal mit dem Inhalt zum Link, der zur Groovy Taglibrary führt.
