Freemarker ist eine Template-Engine zur Erzeugung von Textausgaben und wird in Templates (HTML oder TXT) eingesetzt. Auch hier werden sie mit ${xxx} adressiert.
Anwendung IF Conditional in einer Vorlage
Möchte man eine IF Regel in einer HTML/TXT Vorlage anwenden, die sich auf einen Wert im Formular bezieht, kann folgendes eingesetzt werden:
Beispiel
Je nach Wert eines Titels im Formular soll eine entsprechende Ausgabe erfolgen.
Zuweisung eines Formularwertes mit #assign
<#assign TITLE = "${FORMULA_EQ_displayValue_LLB__DQ_formTitle_DQ__RRB_}"/>
Konditionsregel mit #if (#else & #elseif)
<#if TITLE == "Titel im Formular"/> Ausgabe 1 <#else> Ausgabe 2 </#if>
Im obigen Beispiel verwendete Formular Expression bei #assign
Formular Expression | Schreibweise Freemarker |
---|---|
${FORMULA=displayValue("formTitle")} | ${FORMULA_EQ_displayValue_LLB__DQ_formTitle_DQ__RRB_} |
Formel in Freemarker-Schreibweise umwandeln
Jedes Eingabefeld für Formeln zeigt unterhalb Aktionsbuttons an.
Das Gartenhag-Symbol <#> zeigt in einem Popup-Fenster die Formel aus dem Feld in Freemarker-Schreibweise an:
Freemarker Escape Console
Die Console kann im Intellij genutzt werden, damit die Freemarker Schreibweise nicht manuell gemacht werden muss.
- Mit dem Suchbegiff Freemarker ein Suche starten
- Danach in der FreemarkerEscapeConsole.java das Play Symbol bei der
public class FreemarkerEscapeConsole anklicken...
...und mit Run 'FreemarkerEsca....main()' die Console starten - Nun kann in der Console das obige Beispiel unter Enter formula hineinkopiert werden.
Mit Enter bestätigen damit die Freemarker formula erstellt wird.
Freemarker Escaping Zeichen
Wichtig, einige Zeichen Fehlen noch. Aktuell in Klärung und wird bald möglichst ergänzt.
Status | Zeichen | Beschreibung | Escape |
---|---|---|---|
/ | Forward Slash | _P_ | |
* | Asterix | _A_ | |
- | Minus | _M_ | |
, | Comma | _C_ | |
[ | Left Bracket | _LB_ | |
] | Right Bracket | _RB_ | |
= | Equals | _EQ_ | |
@ | At | _AT_ | |
# | Hashtag | _RT_ | |
' | Single Quote | _Q_ | |
" | Double Quote | _DQ_ | |
. | Dot | _DOT_ | |
( | Left round brackets | _LLB_ | |
) | Right round brackets | _RRB_ | |
: | Colon | _COL_ | |
+ | Plus | _PL_ | |
Space | _NBSP_ | ||
< | Less than | _LT_ | |
> | Greather than | _GT_ | |
&& | Locical AND | _AND_ | |
|| | Locical OR | _OR_ | |
\ | Backslash | _BS_ | |
$ | Dollar sign | _DS_ | |
% | Percent sign | _MOD_ | |
& | Ampersand | _AMP_ | |
$ | Dollar sign | _DS_ | |
; | Semicolon | _SC_ | |
| | Vertical slash | _VS_ |