Thymeleaf là gì
Thymeleaf một một thư viện mở và được coi là một Java Template Engine,
được dùng để xử lý và tạo ra HTML, XML, JavaScript, CSS, text, Raw, nó có thể
làm việc với cả môi trường web và non-web.
Mục tiêu chính của Thymeleaf là mong muốn tạo ra các template đơn giản,
dễ bảo trì cho các công việc phát triển giao diện.
Trong các dự án thực tế của Java, việc lựa chọn các view phù hợp với các dự án là hoàn toàn cần thiết và
quan trọng. Một trong những view hay sử trong java như jsp, jsf, thymeleaf. Một trong số đó thymeleaf được spring framework khuyến cáo
nên sử dụng kết hợp với ứng dụng khi sử dụng spring-boot.
Ưu điểm Thymeleaf
Thymeleaf sử dụng các thẻ HTML làm view và tham gia vào file html dưới
dạng các thuộc tính của các thẻ html. Do đó không cần phải thêm bất cứ loại thẻ
non-HTML nào cả. Ví dụ với JSP nếu muốn sử dụng các thẻ chuẩn của jsp như JSTL
thì cần có taglib, thới Thymeleaf thì không cần sử dụng bất kỳ loại thẻ nào
khác html nên được gọi là non-HTML.
Thông thường với các view như jsp, jsf muốn nhìn thấy được sự thay đổi
của giao diện phải nhấn refresh lại trang web. Với Thymeleaf ta có thể xem các
thay đổi trên giao diện mà không cần tải lại trang.
Những loại template Thymeleaf có thể xử lý
Thymeleaf cho phép bạn xử lý 6 loại template, mỗi loại được gọi là một
chế độ template bao gồm:
- HTML
- XML
- TEXT
- JAVASCRIPT
- CSS
- RAW
Chế độ template HTML
Với chế độ này cho phép bất kỳ loại đầu vào là các file HTML nào như
HTML5, HTML4 và XHTML. Việc kiểm tra tính hợp lệ hoặc tính đúng đắn sẽ được
thực hiện và cấu trúc mẫu (hoặc code mẫu) sẽ được ưu tiên ở mức độ cao nhất
trong đầu ra.
Chế độ template XML
Với chế độ này sẽ cho phép đàu vào là các file XML. Trình phân tích cú
pháp sẽ ném ra lỗi khi file XML vi phạm các lỗi như thiếu thẻ đóng/mở, thiếu
dấu <>, thiếu thuộc tính v.v. Tuy nhiên trình phân tích cú pháp không áp
dụng với DTD hoặc schema.
Chế độ template TEXT
Với chế độ này sẽ cho phép sử dụng cú pháp đặc biệt cho các template
không đánh dấu (markup). Ví dụ về các template như vậy có thể là email hoặc các
tài liệu thông thường.
Lưu ý rằng, các template HTML hoặc XML cũng có thể được xử lý dưới dạng
TEXT, trong trường hợp này, chúng sẽ không được coi là đánh dấu (markup) và tất
cả các thẻ,
DOCTYPE, comment, v.v. sẽ được coi là văn bản thuần túy.
Chế độ template JAVASCRIPT
Với chế độ này sẽ cho phép xử lý các tệp JavaScript trong ứng dụng
Thymeleaf. Điều này có nghĩa là có thể sử dụng dữ liệu mô hình bên trong các
tệp JavaScript theo cùng cách thực hiện trong các tệp HTML. Chế độ template
JAVASCRIPT được coi là văn bản và do đó, nó sử dụng cú pháp đặc biệt giống như
chế độ template TEXT.
Chế độ template CSS
Với chế độ này sẽ cho phép xử lý các tệp CSS liên quan đến ứng dụng
Thymeleaf. Tương tự như chế độ template JAVASCRIPT, chế độ template CSS cũng là
một chế độ văn bản và sử dụng cú pháp xử lý đặc biệt từ chế độ template TEXT.
Chế độ template RAW
sẽ đơn giản là không xử lý các template. Có nghĩa là, nó được sử dụng để
chèn các tài nguyên không bị ảnh hưởng (tệp, phản hồi URL, v.v.) vào các
template đang được xử lý. Ví dụ, các tài nguyên bên ngoài, không được kiểm soát
ở định dạng HTML có thể được đưa vào các template ứng dụng, sẽ là an toàn khi
biết rằng bất kỳ mã Thymeleaf nào mà các tài nguyên này có thể include sẽ không
được thực hiện.
إرسال تعليق