Syarat dalam Thymeleaf

1. Gambaran keseluruhan

Dalam tutorial ini, kita akan melihat pelbagai jenis syarat yang terdapat di Thymeleaf .

Untuk pengenalan ringkas mengenai Thymeleaf, sila rujuk artikel ini.

2. Pergantungan Maven

Mari mulakan dengan pergantungan Maven yang diperlukan untuk menggunakan Thymeleaf bersama dengan Spring:

 org.thymeleaf thymeleaf 3.0.11.RELEASE   org.thymeleaf thymeleaf-spring5 3.0.11.RELEASE 

Untuk keluaran Spring yang lain, perpustakaan thymeleaf-springX yang sepadan harus digunakan, di mana X bermaksud versi Spring. Perlu diketahui juga bahawa Spring 5 disokong bermula dengan 3.0.8 . SIARAN , oleh Thymeleaf.

Versi terbaru dari kebergantungan yang diperlukan boleh didapati di sini.

3. Syarat-syarat Thymeleaf

Kita harus membezakan antara syarat yang membolehkan kita membuat teks dalam elemen HTML bergantung pada keadaan dan yang mengawal keadaan elemen HTML itu sendiri.

Mari tentukan kelas model Guru kami yang akan kami gunakan sepanjang artikel ini:

public class Teacher implements Serializable { private String gender; private boolean isActive; private List courses = new ArrayList(); private String additionalSkills;

3.1. Pengendali Elvis

Pengendali Elvis : membolehkan kita menjadikan teks dalam elemen HTML bergantung kepada keadaan semasa yang berubah-ubah.

Kita boleh menggunakan ungkapan lalai untuk memberikan teks lalai jika pemboleh ubah nol :

Dalam contoh atas, kami ingin memaparkan kandungan pemboleh ubah guru.additionalSkills jika ia ditentukan dan kami mahu teks " TIDAK DIKETAHUI " diberikan sebaliknya.

Anda juga boleh memaparkan teks sewenang-wenang bergantung pada ungkapan boolean:

Kita boleh meminta pemboleh ubah boolean sederhana seperti contoh sebelumnya, tetapi perbandingan rentetan dan pemeriksaan julat juga mungkin.

Pembanding berikut dan representasi teksnya disokong > (gt),> = (ge), <(lt), <= (le), == (eq) dan! = (Ne) .

3.2. Sekiranya - Kecuali

Yang ke: jika dan th: kecuali atribut membolehkan kita untuk menjadikan elemen HTML bergantung kepada keadaan yang disediakan:

 Female Male 

Sekiranya kandungan pemboleh ubah Teacher.gender sama dengan F, maka elemen span dengan nilai " Perempuan " diberikan.

Jika tidak, elemen dengan " Lelaki " diberikan. Penyediaan sedemikian setanding dengan klausa if-else yang terdapat dalam kebanyakan bahasa pengaturcaraan.

3.3. Suis - Kes

Sekiranya terdapat lebih dari dua kemungkinan hasil ungkapan, kita dapat menggunakan atribut th: switch dan th: case untuk rendering bersyarat dari elemen HTML:

 NO COURSES YET! 

Bergantung pada ukuran senarai guru.kursus kami memaparkan teks lalai, kursus tunggal atau semua kursus yang ada. Tanda bintang (*) digunakan untuk pilihan lalai.

4. Kesimpulan

Dalam artikel pendek ini, kami menyelidiki pelbagai jenis syarat-syarat Thymeleaf dan mengemukakan beberapa contoh ringkas yang menunjukkan pelbagai pilihan.

Contohnya boleh didapati dalam projek GitHub.