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.

  1. Zuweisung eines Formularwertes mit #assign

    <#assign TITLE = "${FORMULA_EQ_displayValue_LLB__DQ_formTitle_DQ__RRB_}"/>
  2. 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 ExpressionSchreibweise Freemarker
${FORMULA=displayValue("formTitle")}${FORMULA_EQ_displayValue_LLB__DQ_formTitle_DQ__RRB_}

Freemarker Escape Console

Die Console kann im Intellij genutzt werden, damit die Freemarker Schreibweise nicht manuell gemacht werden muss.

  1. Mit dem Suchbegiff Freemarker ein Suche starten

  2. Danach in der FreemarkerEscapeConsole.java das Play Symbol bei der 

    public class FreemarkerEscapeConsole anklicken...


    ...und mit Run 'FreemarkerEsca....main()' die Console starten



  3. 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.

StatusZeichenBeschreibungEscape
/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_
  • Keine Stichwörter