<#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

Freemarker
By Jiří Čížek
Freemarker
- 359