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