Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

<FreeMarker> Łukasz Monkiewicz.

Podobne prezentacje


Prezentacja na temat: "<FreeMarker> Łukasz Monkiewicz."— Zapis prezentacji:

1 <FreeMarker> Łukasz Monkiewicz

2 Plan prezentacji Co to jest FreeMarker ? Jak to działa ? Szablony
Przykład Podsumowanie

3 Co to jest FreeMarker ? FreeMarker jest biblioteką Javy, która pozwala na generowanie wszelkiego rodzaju tekstowych danych na podstawie wczesniej zdefiniowanych szablonów.

4 Jak to działa ?

5 Szablony <#-- user = "Użytkownik" -->
${user[0]}${user[4]} <#-- Uk --> ${user[1..4]} <#-- żytk --> <#-- x = 5 --> ${x * x - 100} <# > ${x / 2} <# > ${12 % 10} <# > ${1.1?int} <# > <#-- test = "Tom & Jerry" --> ${test?html} <#-- Tom & Jerry --> ${test?upper_case?html} <#-- TOM & JERRY --> ${repeat("What", 3)} <#-- WhatWhatWhat -->

6 Szablony <#if condition> ... <#elseif condition2>
<#switch value> <#case refValue1> ... <#break> <#case refValue2> <#case refValueN> <#default> </#switch> <#list sequence as item> ... </#list>

7 Szablony <#macro test foo bar="Bar" baaz=-1>
Test text, and the params: ${foo}, ${bar}, ${baaz} </#macro> foo="a" bar="b" baaz=5*5-2/> foo="a" bar="b"/> foo="a" baaz=5*5-2/> foo="a"/> Test text, and the params: a, b, 23 Test text, and the params: a, b, -1 Test text, and the params: a, Bar, 23 Test text, and the params: a, Bar, -1

8 Przykład - dane public class User { private String name;
private String lastname; private int age; public User(String name, String lastname, int age){ setName(name); setLastname(lastname); setAge(age); } // get... // set...

9 Przykład - dane Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("template")); cfg.setObjectWrapper(new DefaultObjectWrapper()); Map lang = new HashMap(); lang.put("name", "Imię"); lang.put("lastname", "Nazwisko"); lang.put("age", "Wiek"); lang.put("userList","Lista użytkowników"); lang.put("date", "Data"); List users = new ArrayList(); users.add(new User("Jan", "Kowalski", 25)); users.add(new User("Anna", "Nowak", 27)); users.add(new User("Stefan", "Jakiśtam", 30)); Map root = new HashMap(); root.put("lang",lang); root.put("users",users); root.put("date",new Date()); Template temp = cfg.getTemplate("userlist.ftl"); Writer out = new OutputStreamWriter(System.out); temp.process(root, out); out.flush();

10 Przykład - szablon ################################## ${lang.userList}
${lang.date}: ${date?string("dd-MM-yyyy HH:mm:ss")} <#assign counter = 1 /> <#list users as user> ${counter}. ${lang.name}: ${user.name} ${lang.lastname}: ${user.lastname} ${lang.age}: ${user.age} <#assign counter = counter +1 /> </#list>

11 Przykład - wynik ################################## Lista użytkowników
Data: :23:00 1. Imię: Jan Nazwisko: Kowalski Wiek: 25 2. Imię: Anna Nazwisko: Nowak Wiek: 27 3. Imię: Stefan Nazwisko: Jakiśtam Wiek: 30

12 Podsumowanie Prostota użycia Duże możliwości
Możliwość użycia w dowolnej aplikacji Dostępny plugin do wielu IDE Więcej informacji:


Pobierz ppt "<FreeMarker> Łukasz Monkiewicz."

Podobne prezentacje


Reklamy Google