banner

Blog

Jun 06, 2023

Cos'è Thymeleaf e come puoi usarlo nelle tue applicazioni Spring Boot?

Scopri come integrare questo motore di modelli nelle tue applicazioni Spring.

Thymeleaf è un motore di template Java. Sviluppa modelli per applicazioni web e autonome. Questo motore di modelli utilizza il concetto di modelli naturali per inserire la logica nel tuo layout, senza compromettere il tuo design. Con Thymeleaf avrai il controllo su come un'applicazione elaborerà i modelli che crei.

Puoi utilizzare Thymeleaf per elaborare sei tipi di modelli: HTML, XML, Testo, JavaScript, CSS e RAW. Thymeleaf si riferisce a ciascuno dei modelli come a una modalità modello, essendo HTML il modello più popolare creato su questo motore.

Esistono due modi per aggiungere Thymeleaf all'applicazione Spring Boot. Puoi selezionare Thymeleaf come dipendenza quando generi il tuo boilerplate con lo strumento inizializzazione di Spring. Hai anche la possibilità di aggiungerlo in seguito al file delle specifiche di build nella sezione delle dipendenze.

Se hai selezionato una delle opzioni del progetto Gradle, il file che contiene le dipendenze è ilbuild.gradle file. Tuttavia, se scegli Maven, quel file lo èpom.xml.

Tuopom.xmlil file dovrebbe contenere la seguente sezione di dipendenza:

Mentre il tuobuild.gradleil file dovrebbe contenere la seguente sezione di dipendenza:

L'applicazione di esempio utilizzata nell'articolo è disponibile in questo repository GitHub ed è utilizzabile gratuitamente con la licenza MIT.

Aggiungendo Thymeleaf alla tua applicazione Spring avrai accesso alla sua libreria principale, che ti consentirà di utilizzare il dialetto standard primaverile di Thymeleaf. Il dialetto standard primaverile contiene attributi e sintassi unici che puoi utilizzare per aggiungere funzionalità diverse ai tuoi layout.

Quando usi Thymeleaf nella tua applicazione Spring, il primo passo è creare il tuo documento modello. Per questa applicazione di esempio, il documento modello è HTML. Dovresti sempre creare i tuoi modelli Thymeleaf in Spring Bootmodellicartella, che è disponibile nel file delle risorse.

Il modello Thymeleaf sopra è un modello HTML5 generale, con un attributo estraneo (xmlns:th ). Lo scopo delxmlns:thL'attributo è fornire l'ambito per tutti i fileesimo:* attributi che utilizzerai in questo documento HTML. Gli altri attributi e tag in un modello Thymeleaf sono tag e attributi HTML tradizionali.

Uno dei primi e più importanti aspetti di qualsiasi sito Web o applicazione è l'intestazione. Spiega di cosa tratta l'applicazione (attraverso il logo) e ti aiuta a navigare facilmente nella tua applicazione. Un'intestazione di base dovrebbe avere un logo e diversi collegamenti di navigazione.

Thymeleaf ti consente di aggiungere l'intestazione sopra a qualsiasi pagina della tua applicazione web utilizzando il fileth:inserire attributo. ILth:inserireEth:sostituisci gli attributi accettano ciò che Thymeleaf chiama valori di espressione di frammento. Le espressioni di frammento ti consentono di posizionare frammenti di markup in qualsiasi posizione nel tuo layout.

Inserendo il markup sopra nella parte superiore del filehome.html Il tag inserirà il markup dell'intestazione nella parte superiore della tua home page. Un'espressione frammento ha diversi componenti, due sono facoltativi e due sono obbligatori:

Pertanto, il markup seguente produce lo stesso risultato di quello sopra.

Thymeleaf ti consente di utilizzare cinque tipi di espressioni nei tuoi modelli:

Un'espressione di messaggio ti consente di aggiungere frammenti di testo esternalizzati al tuo layout. Con le espressioni dei messaggi puoi sostituire o riutilizzare facilmente il testo nel tuo layout. Quando usi un'espressione di messaggio, dovresti sempre inserire i frammenti di testo esterni in a.proprietàfile sotto ilrisorsecartella.

Per questa applicazione di esempio, il file èmessaggi.proprietà, che contiene il seguente frammento di testo:

Tieni presente che il frammento di testo (o il messaggio) sopra ha una chiave univoca (/strong of your HTML file will allow you to style your template using a strongstyle.css/strong file. This file is available in a strongcss/strong folder under the strongstatic/strong section of the strongresources/strong file of the sample application. You should always assign the link URL expression to the strongth:href/strong attribute./p>/strong>/strong>

CONDIVIDERE