Series Spring Boot: Spring Boot 0: Làm chủ Spring Boot, Zero to Hero và Series Spring Boot từ con số 0
Series Spring Core: tại đây
Dưới đây là Series Spring Thymeleaf
- Thymeleaf là gì? So sánh JSP, JSF với Thymeleaf
- Code ví dụ Spring MVC Thymeleaf Hello – dùng XML config
- Code ví dụ Spring MVC Thymeleaf Hello – dùng annotation config
- Submit form với Thymeleaf, Code ví dụ Spring Thymeleaf Form
- Code ví dụ hiển thị List, Set, Map với Thymeleaf
- Code ví dụ đa ngôn ngữ với Thymeleaf Internationalization / i18n
- Code ví dụ gửi email – gmail với Thymeleaf + Spring
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.
Ví dụ:
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…
Okay, Done!
Loạt bài chủ đề Java trên trang stackjava.com bản quyền thuộc thầy Trần Hữu Cương. Bài viết đăng trên blog Techmaster được sự đồng ý của tác giả.
Thầy Trần Hữu Cương đã và đang tham gia giảng dạy tại Techmater khoá Lộ trình Java Spring Boot Full Stack
Link gốc bài viết tại đây.
Bình luận