Set (SP-Tag)
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>