Tất tần tật về Thymeleaf - Thymeleaf là gì? So sánh Thymealeaf với JSP, JSF

Nguồn: https://stackjava.com/thymeleaf/thymeleaf-la-gi-sanh-jsp-jsf-voi-thymeleaf.html

1. Thymeleaf là gì?

Thymeleaf là một Java template engine dùng để xử lý và tạo HTML, XML, Javascript, CSS và text.

Mục tiêu chính của thymeleaf là mang lại các template tự nhiên, đồng nhất, đơn giản (nature templates) cho công việc phát triển.

Các lợi ích của Thymeleaf Với thymeleaf, ta chỉ cần sử dụng file HTML là có thể hiển thị tất cả mọi thứ (không cần jsp ...). Thymealeaf sẽ tham gia vào renderd các file HTML dưới dạng các thuộc tính trong các thẻ HTML --> do đó ta không cần phải thêm bất kỳ thẻ non-HTML nào. Vì là HTML nên ta có thể xem các file view mà không cần khởi chạy server. Thymeleaf hỗ trợ cơ chế cache, do đó ta có thể cache dữ liệu hoặc custom để hiển thị view khi có thay đổi mà không cần restart server.

2. So sánh Thymealeaf với JSP, JSF

Như đã nhắc ở trên, thymeleaf là thuần HTML, để hiển thị dữ liệu từ server nó sẽ dùng các thẻ html do thymeleaf cung cấp. File JSP có thể nhúng code java (cái này hạn chế, tốt nhất là không làm), hiển thị dữ liệu bằng JSTL. JSF thì định nghĩa các component (đã bao gồm cả javascription trong đó) để hiển thị. Mỗi loại trên đều có ưu nhược điểm riêng của mình, ví dụ với JSP thì người ta có thể kết hợp thêm Apache Tiles để tạo template, với JSF thì đã có sẵn các component nên tiết kiệm rất nhiều thời gian nhưng lại khó custom...

Code ví dụ Spring Thymeleaf với xml config Code ví dụ Spring Thymeleaf với annotation config Code ví dụ submit form với Spring Thymeleaf Code ví dụ hiển thị Collections (List, Set, Map) với Spring Thymeleaf Code ví dụ hiển thị đa ngôn ngữ với Spring Thymeleaf Code ví dụ gửi email – gmail với Thymeleaf + Spring

Tham khảo: https://stackjava.com/thymeleaf/thymeleaf-la-gi-sanh-jsp-jsf-voi-thymeleaf.html