<#FREEMARKER>
Co to je?
šablonovací systém
model
Šablona
text
výraz k vyhodnocení
řídící příkazi FTL
komentář
Šablona
výrazy uvnitř ${} jsou automaticky nahrazeny aktuální hodnotou
pomocí # můžeme používat freemarker funkce např.<#if><#else></#if>, <#macro>
pomocí @ můžeme volat vlastní funkce
Freemarker model
data která posíláme do šablony aby se vyhodnotila
pokud posíláme java object musí mít gettery na property ke kterým chceme přistupovat
k property přistupujeme přes tečkovou notaci
Freemarker funkce
If
Freemarker funkce
list
Freemarker funkce
sep
Vykoná se pouze pokud existuje další výskyt
Freemarker funkce
include
Umožní vložit kód do šablony
Freemarker funkce
vestavěné
Používají se pro upravu chování vyhodnocení promměných z modelu
píší se za ? a lze je řetězit (${value?method?method})
user?upper_case - převede na velká písmena
user?length - vypíše délku textu
animals?size - vypíše velikost pole
animal?index - vrátí pozici v poli (start 0)
animals?join(", ") - spojí obsah pole zadaným stringem
user?start_with("J") - otestuje zda text začíná zadaným textem
Freemarker funkce
test existence proměnných
${user!"N/A"} - pokud user neexistuje vypíše N/A
<#if user??>....</#if> - pokud user existuje splní se podmínka
Freemarker proměnné
'plain' proměnné - jsou přístupné v celé template
definují se <#assign x = 1>
lokální proměnné - uvnitř maker
definují se <#local x = 1>
proměnné cyklu - proměnná žije jen v rámci daného cyklu
<#list list as x>
globální - dostupné pro všechny šablony. Moc se nepoužívá
definuje se pomocí <#global x=1>
Freemarker makra
<#macro> - umožňuje nám definovat vlastní directivy
Freemarker makra
<#nested>
<#nested> - umožňuje nám v makru přistoupit k obsahu který se nachází mezi tagy
Freemarker makra
<#return>
<#return> - umožňuje ukončit makro