freemarker | |
---|---|
Tip de | motor de șablon |
Dezvoltator | Jonathan Revusky, Attila Szegedi, Dániel Dekány și alții |
Scris in | Java |
Sistem de operare | Software multiplatformă |
ultima versiune | 2.3.31 ( 10 februarie 2021 ) |
Versiune de testare | 2.4 Previzualizare 1 ( 16 iulie 2008 ) |
Stat | Activ |
Licență | Licență asemănătoare BSD |
Site-ul web | freemarker.org |
FreeMarker este un motor de compilare de șabloane scris în Java , unul dintre instrumentele care vă permite să separați logica și datele de prezentare în spiritul conceptului Model-view-controller . Este folosit în primul rând în dezvoltarea de aplicații web folosind servlet-uri Java, dar poate fi folosit și pentru afișarea textului în alte cazuri: generarea de CSS , cod sursă Java etc. Spre deosebire de JSP , FreeMarker nu este dependent de arhitectura servlet-ului sau de HTTP protocol . Astfel, motorul de șablon poate fi folosit nu numai în proiecte web. FreeMarker este un software gratuit .
Acest șablon
<html> <body> <p> Bună, ${name}! Aveți următoarele mesaje: < #list mesaje ca m> <p><b> ${m.from}: </b> ${m.body} </p> < /#list> </body> < /html>procesată de motorul de șabloane FreeMarker va genera următoarea pagină html:
<html> <body> <p> Bună Joe! Aveți următoarele mesaje: <p><b> Tim: </b> Vă rugăm să nu uitați să aduceți lucrările conferinței! </p> <p><b> Cindy: </b> Poți să mă vizitezi după-amiaza? </p> <p><b> Richard: </b> Omule, de data asta nu uita de hârtii! </p> </body> </html>Variabilele „nume” și „mesaje” au fost definite înainte de generarea șablonului, astfel încât designerul de layout să se poată concentra doar pe problemele afișării corecte a conținutului. Șablonul rămâne același indiferent de valoarea variabilei și de unde a fost obținută. În plus, API-ul Java bean poate fi ascuns folosind o tehnică numită împachetare obiect . De exemplu, „mesajele” pot fi fie o listă, fie o matrice de bean-uri Java cu câmpuri „de la” și „corp”, sau altceva. Nu trebuie să schimbați șablonul, atâta timp cât utilizați învelișul corect pentru obiect (înveliș pentru obiecte) .