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 ThymeleafTymeleaf is een server-side templating engine voor Java die werkt conform de regels van HTML. verder lezen. Eén van de meest krachtige templating engines op de markt.
Wat is het?
Thymeleaf (2011) is een server-side templating engine voor JavaWie zich verdiept in softwareontwikkeling komt al snel de term 'Java' tegen. Net als C++ en .NET is Java een programmeertaal voor de ontwikkeling van software. In dit artikel geven we je een korte introductie. verder lezen die werkt conform de regels van HTML. Het gebruik ervan 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 het 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
Het 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.