Kennisbank

Thymeleaf

Een algemeen gehanteerde afspraak binnen softwareontwikkeling is om logica te scheiden van presentatie. Voor de presentatie van gegevens wordt vaak een templating engine gebruikt. Dit is een programmaonderdeel dat het mogelijk maakt om statische templates te definiëren voor pagina's met variabele gegevens. In dit artikel gaan we in op een van de meest krachtige templating engines op de markt: Thymeleaf.

Wat is Thymeleaf?

Thymeleaf (2011) is een server-side templating engine voor Java die werkt conform de regels van HTML. Het gebruik van Thymeleaf draagt bij aan de samenwerking binnen ontwikkelteams, omdat de templates zowel statisch binnen de browser kunnen draaien, maar daarnaast ook worden ondergebracht binnen de applicatie. Zowel Java-ontwikkelaars als front-end ontwikkelaars kunnen er dus gemakkelijk mee overweg. Thymeleaf gebruikt uitsluitend HTML attributen en heeft een duidelijke syntax. De templates worden gebruikt om statische waarden te tonen, Thymeleaf zorgt ervoor dat deze run-time vervangen wordt met live data. Want Thymeleaf heeft een goede integratie met populaire web-technieken.

De voordelen van Thymeleaf

Het voordeel hiervan is dat logica kan worden toegevoegd zonder de layout te hoeven aanpassen. Via tags/attributen in de pagina kunnen waarden worden geëvalueerd of gebruikt voor een iteratie. Deze mogelijkheden behoren tot het standaard dialect dat Thymeleaf biedt. Door de ‘th’ prefix te gebruiken voor het attribuut kan van dit standaard dialect gebruik gemaakt worden, bijvoorbeeld:

De syntax die gebruikt moet worden verschilt per expressie, de standaard expressie syntax kan vijf typen bevatten: variabele expressies (zie bovenstaand voorbeeld: ‘${…}’, selectie expressies, berichten(i18n) expressies, link expressies en fragment expressies. Het standaard dialect biedt al voldoende dekking voor veruit de meeste situaties, maar daarnaast is het in Thymeleaf mogelijk je eigen set van template attributen of zelfs tags te definiëren, met een eigen naamgeving, syntax en logica. Ook bevat Thymeleaf utilty functies om het gebruik makkelijker te maken, bijvoorbeeld voor het weergeven van getallen of data. Een veelgenoemd voordeel van Thymeleaf is dat het support biedt voor internationalisatie, het ondersteunt i18n.

Thymeleaf gecombineerd met Spring Framework

Thymeleaf kan gebruikt worden in combinatie met het Spring Framework. Via de controller worden bijvoorbeeld objecten doorgegeven, waarna de statische waarden in de template vervangen worden door dynamische. Doordat logica ook in de template gebruikt kan worden hoeft niet alles alleen in de back end te gebeuren, dit kan een voordeel zijn in bepaalde situaties. Thymeleaf heeft een duidelijke syntax, is flexibel en heeft een goede integratie met populaire webtechnieken. Naast het gebruik als template engine voor o.a. HTML5 is Thymeleaf ook uitbreidbaar voor andere formaten. Het open-source project is geregistreerd onder Apache License 2.0.

Meer over 'Thymeleaf':

Direct aan de slag?
Of wil je meer over ons weten?

Bel nu met Bart Matthaei, mede-oprichter van Ambrero. Komt het nu niet uit? Laat dan gewoon je bericht achter.

Bart Matthaei

Directie & sales

Email

.. of laat je gegevens achter en wij nemen contact met je op.

Je bent iets vergeten in te vullen.

Bericht verzonden

Bedankt voor je bericht. Je hoort snel van ons!