Timjanblad

Timjanblad
Utvecklare Daniel Fernandez
Stabil frisättning
3.1.1 / 6 december 2022 ; 3 månader sedan ( 2022-12-06 )
Skrivet i Java
Operativ system Cross-plattform
Standard (er) XML , XHTML , HTML5
Typ Mallmotor
Licens Apache-licens 2.0
Hemsida www .thymeleaf .org

Thymeleaf är en Java XML / XHTML / HTML5 mallmotor som kan fungera både i webb ( servlet -baserad) och icke-webbmiljöer. Den är bättre lämpad för att servera XHTML/HTML5 i vyskiktet av MVC -baserade webbapplikationer, men den kan bearbeta vilken XML-fil som helst även i offlinemiljöer. Det ger fullständig Spring Framework- integration.

I webbapplikationer strävar Thymeleaf efter att vara ett komplett substitut för JavaServer Pages (JSP), och implementerar konceptet Natural Templates : mallfiler som kan öppnas direkt i webbläsare och som fortfarande visas korrekt som webbsidor.

Thymeleaf är programvara med öppen källkod , licensierad under Apache License 2.0 .

Funktioner

Från projektets hemsida:

  • Java mallmotor för XML , XHTML och HTML5 .
  • Fungerar både i webb- och icke-webbmiljöer (offline). Inget hårt beroende av Servlet API.
  • Baserat på modulära funktioner som kallas dialekter .
    • Dialektfunktioner (t.ex.: utvärdering, iteration, etc.) tillämpas genom att länka dem till mallens taggar och/eller attribut.
    • Två dialekter tillgängliga direkt: Standard och SpringStandard (för Spring MVC- appar, samma syntax som Standard).
    • Utvecklare kan utöka och skapa anpassade dialekter.
  • Flera malllägen:
    • XML : validerar mot en DTD eller inte.
    • XHTML 1.0 och 1.1 : validering mot standard DTD:er eller inte.
    • HTML5 : både XML-formaterad kod och äldre HTML5. Äldre icke-XML-kod rensas automatiskt och konverteras till XML- format.
  • Fullständigt (och utbyggbart) internationaliseringsstöd .
  • Konfigurerbar, högpresterande tolkad mallcache som reducerar input/output till ett minimum.
  • Automatiska DOCTYPE-översättningar – från mall DTD till resultat DTD – för (valfritt) validering av både mall och resultatkod.
  • Extremt utbyggbar: kan användas som en mallmotorram om det behövs.
  • Komplett dokumentation inklusive flera exempelapplikationer.

Thymeleaf exempel

Följande exempel producerar en HTML5-tabell med rader för varje objekt i en List<Product> -variabel som heter allProducts .


  
    
       
       
    
  
  
     
       
       
    
  
 <  table  >  <  thead  >  <  tr  >  <  th  th:text  =  "#{msgs.headers.name}"  >  Namn  </  th  >  <  th  th:text  =  "#{msgs.headers.price}"  >  Pris  < /  th  >  </  tr  >  </  thead  >  <  tbody  >  <  tr  th:each  =  "prod : ${allProducts}"  >  <  td  th:text  =  "${prod.name}"  >  Apelsiner  </  td  >  <  td  th:text  =  "${#numbers.formatDecimal(prod.price,1,2)}"  >  0,99  </  td  >  </  tr  >  </  tbody  >  </  table  > 

Denna kodbit innehåller:

  • Internationaliseringsuttryck: #{ ... } rh
  • Variabel/modellattribututvärderingsuttryck: ${ ... }
  • Verktygsfunktioner: #numbers.formatDecimal( ... )

Dessutom kan detta fragment av (X)HTML-kod visas perfekt av en webbläsare som en prototyp, utan att bearbetas alls: det är en naturlig mall .

Se även

externa länkar