Print (SP-Tag)
Version vom 31. März 2021, 13:09 Uhr von Leo (Diskussion | Beiträge) (Hinzufügen der AES Verschlüsselung und cryptkey Attribut)
Name
<sp:print> - Ausgabe-Tag
Syntax
<sp:print name="variable" encoding="html"/>
Beschreibung
Der Print-Tag dient zur Ausgabe von Texten, Expression sowie Daten und Zahlen in beliegen Formaten.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Attribute | Ja oder text, condition bzw. expression | None | 1 |
text
|
Text | Ja oder name, condition bzw. expression | None | 1 |
expression
|
Expression | Ja oder name, condition bzw. text | None | 1 |
condition
|
Condition | Ja oder name, expression bzw. text | None | 2.0.3.31 |
default
|
Text | Nein | None | 1 |
convert
|
Text | Nein | None | 2.1.0 |
encoding
|
Text | Nein | None | 1 |
decoding
|
Text | Nein | None | 2 |
encrypt
|
Text | Nein | None | 1 |
decrypt
|
Text | Nein | None | 2 |
cryptkey
|
Text | Nein | None | |
locale
|
Locale | Nein | None | 1 |
dateformat
|
Text | Nein | None | 1 |
decimalformat
|
Text | Nein | None | 1 |
arg
|
Expression | Nein | None | 2.0.3 |
name
- Attribut das ausgegeben werden soll (Siehe „Attribute“).
text
- Alternative zu name (Siehe „Text“).
expression
- Alternative zu name (Siehe „Expression“).
condition
- Alternative zu name (Siehe „Condition“).
default
- Auszugebender Default-Wert, wenn das Ergebnis von name bzw. text bzw. expression leer ist.
convert
(ab Version 2.1.0)- Konvertiert die auszugebende Zeichenkette mit dem angegebenen Konverter. Es ist möglich eine kommaseparierte Liste von Konvertern anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind:
- html2text
- Wandelt HTML in reinen Text um und versucht das Erscheinungsbild des Textes so gut wie möglich beizubehalten (Z.B. bei Tabellen)
- wiki2html
- Erzeugt aus einer Wiki-Text Syntax HTML. Weitere Informationen über Wiki-Text finden sie hier: [1]
- html2wiki
- Erzeugt aus HTML-Daten entsprechenden Wiki-Text. Weitere Informationen über Wiki-Text finden sie hier: [2]
encoding
- Encodiert die auszugebende Zeichenkette mit dem angegebenen Encoding. Es ist möglich eine kommaseparierte Liste von Encodings anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind:
- none
- kein encoding
- html
- encoded HTML-Text
< zu <
> zu >
' zu '
" zu "
& zu &
- wird z.B. verwendet um value-Attribute in Formularen zu füllen
- xml
- encoded XML-Text
< zu <
> zu >
' zu '
" zu "
& zu &
- und alle Zeichen außerhalb des 7-Bit ASCII-Zeichensatzes
- script
- encoded für JavaScript, JSP, o.ä (escaped \n, \r, " und ')
\ zu \\
(Ab Version 2.0.3)' zu \'
" zu \"
\n zu \\n
\r zu \\r
- php (ab Version 2.1.0.44)
- encoded für PHP (escaped \n, \r, $, " und ')
\ zu \\
' zu \'
" zu \"
$ zu \$
\n zu \\n
\r zu \\r
- php;[KEY=VALUE;KEY=VALUE;...] (ab Version 2.12.22)
- Derzeit wird nur der KEY
'ignore'
aktzeptiert, um zu definieren, welche Werte NICHT encodiert werden sollen! Mögliche Werte für den KEY'ignore'
sind:backslash
singleQuote
doubleQuote
carriageReturn
newLine
backspace
tab
dollar
- Beispiel:
php;ignore=singleQuote;ignore=newLine
- url
- encoded eine URL (entsprechend dem Charset des Publishers)
- url; charset=latin1
- encoded eine URL (mit dem übergebenen Charset)
- entity
- encoded alle Entitäten (jedes Zeichen wird zu seinem Entitäts-Pendant)
- z.B.
A zu A
[SPACE] zu  
- plain
- encoded <, > und Zeilenenden (\n, \r, \r\n)
< zu <
> zu >
\n zu <br> oder <br/>\n
\r\n zu <br> oder <br/>\r\n
- ascii
- encoded Windows-Sonderzeichen nach ASCII
- path
- encoded einen Verzeichnisnamen
- filename
- encoded einen Dateinamen
- wikitext (ab Version 2.0.3)
- Erzeugt ein Wiki-Text Syntax HTML. Weitere Informationen über Wiki-Text finden sie hier: [3]
- Deprecated (ab Version 2.1.0)
wikitext
ist kein encoding, sondern eine Konvertierung und sollte jetzt über das Attributconvert
und dem Wertwiki2html
verwendet werden
- base64 (ab Version 2.0.1)
- encoded nach BASE64
- base64NotChunked (ab Version 2.8)
- encoded nach BASE64, fügt aber keine Zeilenumbrüche hinzu
- hex (ab Version 2.0.1)
- encoded nach HEX. Hierbei wird jedes Zeichen in eine Zahl umgewandelt und dessen Hex-Wert ausgegeben
- escff (ab Version 2.0.3.26)
- encodet alle Zeichen mit einem Byte-Wert kleiner als 128 in einen Hex-Wert, beginnend mit einem Doppelpunkt (
:
). Dieses Encoding wird dazu verwendet, von sp:form erzeugte Formularfelder zu encoden, wenn das Formular an eine PHP-Seite gesendet wird. Dieses Encoding ist kein Standardencoding, sondern eine proprietäre Entwicklung von Sitepark.
decoding
- Decodiert die auszugebende Zeichenkette mit dem angegebenen Encoding. Es ist möglich eine kommaseparierte Liste von Encodings anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind:
- none
- kein decoding
- xml
- decoded XML-Text
< zu <
> zu >
' zu '
" zu "
& zu &
- url
- decoded eine URL (entsprechend dem Charset des Publishers)
- base64
- decoded eine BASE64 encodete Zeichenkette
- escff (ab Version 2.0.3.26)
- decodet die mit dem
escff
-encoding encodierten Zeichenketten.
encrypt
- Encryptet die auszugebende Zeichenkette mit dem angegebenen Crypt-Algorithmus. Es ist möglich eine kommaseparierte Liste von Crypt-Algorithmen anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind
- 3des
- Triple DES Crypting Algorithmus
- aes
- AES Algorithmus
- unixcrypt
- UNIX-Crypt Algorithmus
- md5
- MD5 Algorithmus
- sha
- SHA Algorithmus
decrypt
- Decryptet die auszugebende Zeichenkette mit dem angegebenen Crypt-Algorithmus. Es ist möglich eine kommaseparierte Liste von Crypt-Algorithmen anzugeben, die nacheinander ausgeführt werden. Gültige Werte sind
- 3des
- Triple DES Crypting Algorithmus
- aes
- AES Algorithmus
cryptkey
- Der bei 3DES bzw. AES zu verwendene Schlüssel. Wird keiner angegeben, wird der IES-Default-Key verwendet.
locale
- Dieses Attribut dient zur Auswahl der zu verwendende Sprache bei mehrsprachiger Variablen.
dateformat
- Angaben zur Datumsformatierung. Um für die Formatierung die gewünschte Sprache zu erhalten, bestehen folgende Möglichkeiten:
- Die Angabe einer Sprache über das
locale
-Attribut dieses Tags. Dies hat aber auch Einfluss auf die inname
angegebenen Variablen. - Übername des Locals des aktiven Publishers. Wird das
locale
-Attribut nicht verwendet, wird das Locale des aktiven Publishers verwendet. Ist kein Publisher aktiv (in-Modus) oder wurde im Publisher kein Locale angegeben, wird das default-Locale des Systems verwendet (im Regelfall de_DE). - Angabe eines Locale in der Formatdefinition. In der Formatdefinition kann unabhängig von allen sonst definierten Formaten nur für dieses Format ein Locale angegeben werden. Dazu muss nach der Formatdefinition, mit einem Pipe-Zeichen (|) getrennt, das Locale angegeben werden:
dd.MM.yyyy HH:mm|en
- Die Angabe einer Sprache über das
decimalformat
- Angaben zur Dezimalformatierung. Um für die Formatierung die gewünschte Sprache zu erhalten, bestehen folgende Möglichkeiten:
- Die Angabe einer Sprache über das
locale
-Attribut dieses Tags. Dies hat aber auch Einfluss auf die inname
angegebenen Variablen. - Übername des Locals des aktiven Publishers. Wird das
locale
-Attribut nicht verwendet, wird das Locale des aktiven Publishers verwendet. Ist kein Publisher aktiv (in-Modus) oder wurde im Publisher kein Locale angegeben, wird das default-Locale des Systems verwendet (im Regelfall de_DE). - Angabe eines Locale in der Formatdefinition. In der Formatdefinition kann unabhängig von allen sonst definierten Formaten nur für dieses Format ein Locale angegeben werden. Dazu muss nach der Formatdefinition mit einem Pipe-Zeichen (|) getrennt, das Locale angegeben werden:
##.00|en
Hinweis: Bis Version 2.0.2 wurde der Doppelpunkt als Trennzeichen verwendet. Dadateformat
diese Funktion ab Version 2.0.3 auch besitzt konnte der Doppelpunkt nicht mehr verwendet werden, da dieser Teil der Format-Definition sein kann. Aus diesem Grund wurde der Doppelpunkt als Locale-Trennzeichen als deprecated deklariert.
- Die Angabe einer Sprache über das
arg
(ab Version 2.0.3)- Mit diesem Attribut werden Werte für eine Formatierung im StringFormat angegeben. Für dieses Attribut gilt der Sonderfall, dass mehrere Werte in einzelnen
arg
-Attributen angegeben werden. Es ist also möglich mehrere Attributearg
in diesem Tag anzugeben. Diese Formatierung wird durchgeführt, wenn mindestens einarg
-Attribut angegeben wurde. Diese Formatierung wird nach allen anderen Formatierungen (deciamlformat, numberformat), de- und encodings und de- und encrypting durchgeführt. Die ermittelte Zeichenkette wird zusammen mit den übergebenen Argumenten in denarg
-Attributen nach den Regeln des StringFormats formatiert. Zu beachten gilt, dass diearg
-Argumente eine Expression erwartet. Zahlen können direkt übergeben werden. Zeichenketten müssen in'
gefasst werden <sp:print text="Eine Zahl %d. Ein Wort %s" arg="3" arg="'Wort'"/>
Beispiele
Ausgabe einer Variablen
Template Quelltext
Nicht definierte Variablen liefern: <sp:print name="var"/><br>
Sie können aber einen Default-Wert haben: <sp:print name="var" default="Hallo"/>
Ausgabe
Nicht definierte Variablen liefern:
Sie können aber einen Default-Wert haben: Hallo
Ausgabe einer Expression
Template Quelltext
<sp:set name="x" value="7"/>
<sp:set name="y" value="12"/>
<%--
Auf Variablen greift man mit ${} zu
--%>
Der Print-Tag kann auch rechnen:
(7 + 12) * 2 - 3 = <sp:print expression="(${x} + ${y}) * 2 - 3"/>
Ausgabe
Der Print-Tag kann auch rechnen:
(7 + 12) * 2 - 3 = 35