Set (SP-Tag)

Aus SiteparkWiki
(Weitergeleitet von Sp:set)
Zur Navigation springen Zur Suche springen

Name

<sp:set> - Setzt Variablen

Syntax

<sp:set name="variable" value="Her name is ${name}"/>

Beschreibung

Mit dem Set-Tag können eigene Variablen innerhalb eines Templates definiert werden. Mit Hilfe des Attributes scope kann der Gültigkeitsbereich der Variable bestimmt werden. Mit sp:set können Zeichenketten, Expressions oder Objekte (als Attribut angegeben) für eine Variable gesetzt werden. Bei dem Status overwrite gleich false, wird die Variable nur gesetzt wenn sie noch nicht existiert oder leer ist.

Werte können über die Attribute value, expression, condition oder object gesetzte werden. Alternativ ist es auch möglich den Wert im Body des Tags zu setzten. Hierbei wird zunächst der Body ausgeführt und das Ergebnis verwendet

<sp:set name="output">Die Aufgabe mit Ergebnis: <sp:print name="abc"/></sp:set>

Attribute

Name Type Required Default ab IES Version
name Variable Ja None 1
value Text Ja, oder expression bzw. condition bzw.object oder im Body des Tags None 1
expression Expression Ja oder value bzw. object bzw. condition oder im Body des Tags None 1
condition Condition Ja oder value bzw. object bzw. expresson oder im Body des Tags None 2
object Attribute Ja oder value bzw. expression bzw. condition oder im Body des Tags None 1
default Text Nein None 2.0.2
overwrite Condition Nein None 1
locale Locale Nein None 1
scope Scope Nein request 1
insert Text Nein replace 2.12.10
contentType Text Nein 2.12.22
name
Name der neuen Variable.
value
Zu setzender Wert. Dieser wird immer als Zeichenkette ausgewertet.
expression
Die Expression wird ausgewertet und als Wert in die Variable geschrieben.
condition
Die Condition wird ausgewertet und als Bedingung in die Variable geschrieben.
object
Evaluiert das Attribut und setzt den evaluierten Wert. Im Gegensatz zu value wird hier das Object gespeichert und nicht der Text.
default
Der Text, der verwendet wird, wenn die Inhalte von value, expression und body leer sind.
overwrite
Bestimmt, ob eine evtl. vorhandene Variable überschrieben werden soll. true bzw. false.
locale
Dieses Attribut dient zur Auswahl der zu verwendenden Sprache bei mehrsprachigen Variablen.
scope
Gültigkeitsbereich, in dem die Variable definiert ist. Möglich sind page und request.
insert
Definiert wie der Wert gesetzt werden soll. Die folgenden Werte sind möglich: replace, append, prepend
replace
Ersetzt den Wert einer eventuell bereits vorhandenen Variable
append
Hängt den Wert an eine eventuell bereits vorhandenen Variable hinten an
prepend
Hängt den Wert an eine eventuell bereits vorhandenen Variable vorne an
contentType
Hier kann zZ nur der Wert json gesetzt werden, um den angegebenen Content als JSON Objekt zu sichern.

Beispiele

Variablen setzten

Template Quelltext

<sp:set name="variable_a" value="10"/>
<sp:set name="variable_b" value="20"/>

<sp:set name="variable_c" expression="${variable_a} + ${variable_b}"/>

<sp:set name="variable_abc" value="a + b = ${variable_c}"/>

<sp:set name="output">Die Aufgabe mit Ergebnis: <sp:print name="variable_abc"/></sp:set>

<sp:print name="output"/>

Ausgabe

Die Aufgabe mit Ergebnis: a + b = 30

Conditions beim set-Tag

<sp:set name="even" condition="${myValue}%2 == 0"/>
<sp:if condition="${even}">gerade</sp:if>