Skip to main content

bx:groovy

Mittels bx:groovy kann innerhalb eines Template einfach Groovy-Code ausgeführt werden.

Groovy Code ausführen

<bx:groovy [includes="{Groovy-Bausteine}"] [nobody]> ... </bx:groovy>

Der Parameter includes (zur Kompatibilität auch include möglich) enthält einen oder mehrere (kommagetrennte) Titel von Groovy-Bausteinen. Diese werden in der angegebenen Reihenfolge zusammengesetzt. Danach wird noch der Groovy-Code im Tag-Body angehangen.

Die Angabe von nobody bewirkt, dass der Taginhalt nicht als Groovy-Code angesehen wird. Somit kann man selbst dynamische Sachen (via includeTag.computeBody()) auswerten.

Beispiele

Nur Code

<bx:groovy>
println("Hello, World")
</bx:groovy>

Include und Code

<bx:groovy includes="MyLib">
MyLib.doStuff()
</bx:groovy>

Nur Include

<bx:groovy includes="MyLib,OtherLib" />

Parameter übergeben und auslesen

<bx:groovy name="clipboard:myName" age="25">
def name = includeTag.getStringParameter("name")
def age = includeTag.getIntParameter("age", 0)
 
println("Hello, $name")
if (age < 18) println("no access!")
</bx:groovy>

nobody

<bx:groovy includes="CheckRole" role="Admin" nobody>
  <p>Herzlich willkommen in der Administration</p>
</bx:groovy>
 
// CheckRole Groovy (Auszug):
def requestedRole = includeTag.getStringParameter("role")
if (hasRole(requestedRole)) {
  println(includeTag.computeBody())
}

Verweise auf diese Seite:

Verwendungsmöglichkeiten Verwendungsmöglichkeiten

(2 Verweise)