Đôi điều về Thymeleaf? Thymeleaf là gì? Có nên sử dụng Thymeleaf với Spring?

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.

Tùy theo công mỗi công ty và các yêu cầu riêng của từng dự án mà người ta sẽ phân tích và lựa chọn view phù hợp, nên thymeleaf  không hẳn là view luôn luôn phải lựa chọn hàng đầu? Tuy nhiên bài viết này muốn chia sẻ đến các bạn thymeleaf là gì và những ưu điểm của thymeleaf  để đưa ra những quyết định hợp lý.




Vào tháng 1 năm 2017  tại forum của thymeleaf đã diễn ra các cuộc bình chọn và review về thymeleaf, có rất nhiều cuộc review về đánh giá nhu cầu sử dụng tới các develop với thymeleaf, và đây là kết quả:

->> Web Frameworks used with Thymeleaf

Tại đây, các nhà phát triển đứng đầu thymeleaf muốn biết Web  Framework nào sử dụng nhiều và phổ viến với thymeleaf nhất, dựa trên các số lượng bình chọn và review của các developer. Và kết quả với số lượng bình chọn cao nhất là Spring Boot và kế theo đó là spring mvc, theo mình với spring mvc thì chúng ta nên sử dung tiles frameworkDưới đây là biểu đồ đánh giá:

Đánh giá web framework nào được sử dụng với thymeleaf nhiều nhất
Đánh giá web framework nào được sử dụng với thymeleaf nhiều nhất

->> Would you recommend Thymeleaf?

Tiếp theo, thymeleaf muốn biết các cá nhân hay doanh nghiệp đã sử dụng thymeleaf thì có giới thiệu cho những người bạn khác sử dụng không? Nếu số lượng bình chọn nhiều tất nhiên thymeleaf rất hữu ích và ngược lại nó không tốt cho sự trải nghiệm người sự dụng. Dưới đây là mực độ đánh giá thang điểm 10 qua biểu đồ sau nhiều đợt review và bình chọn của các developer:

 

Đánh giá thymeleaf có được giới thiệu qua thang điểm 10
Đánh giá thymeleaf có được giới thiệu qua thang điểm 10

Như chúng ta thấy, Rất nhiều điểm 10, 9 và 8 ! Và tuy nhiên cũng có những người đã cho  điểm số thấp hơn. Vậy theo các bạn chúng ta có nên tìm hiểu thymeleaf? Tất nhiên là có phải không ? Bởi vì các công ty cũng như những ưu điểm và đôi khi trong dự án thực tế cần chúng biết để sử dụng và khi muốn tìm hiểu một công nghệ hay một framework nào đó, chúng ta phải nghĩ đến việc yêu nó, i love you. Vì sao? Yêu nó thì nó mới yêu lại mình ^^ và cũng để có cảm hứng để học đúng không? OK, Không luyên thuyên nữa chúng ta đi vào 2 vấn đề chính. Thymeleaf là gì? Và ưu điểm của thymeleaf? 


Thymeleaf trong spring boot

1. Thymeleaf là gì?

 

Thymeleaf là một thư viện mở và nó được gọi là Java template engine, được dùng để xử lý và tạo ra HTML, XML, Javascript,RAW, CSS,  và text.  Từ đó Thymeleaf  mong muốn tạo ra các template đơn giản cho công việc phát triển giao diện bởi lẻ nó là một nonHTML.

2. Lợi ích khi sử dụng Thymeleaf?

1. Đầu tiên, trên trang chủ của spring framework người ta khuyến cáo nên sử dụng thymeleaf cùng với sping và tất nhiên đã khuyến cáo thì có những ưu điểm như mình vừa nói ở trên. Với Thymeleaf, nó đã viết sẵn một documentation Thymeleaf từ a- z giúp các bạn có thể học nó.

2. Thân thiện và gần gủi với các develop

Vì nó có thể sử dụng HTML làm view, với html thì bất kỳ các lập trình viên nào cũng biết, và tất nhiên ta chỉ  sử dụng các file  file HTML làm view, thymeleaf sẽ tham gia vào file HTML dưới dạng các thuộc tính của các thẻ HTML . Ta không cần phải thêm bất cứ loại thẻ non-HTML nào cả. (Ví dụ như jsp thì muốn sử dụng các thẻ chuẩn của jsp như JSTL thì cần có taglib, vớ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)

Lưu ý: muốn sử dụng được các thuộc tính và để thymeleaf hiểu thì cần sử dụng các dialect.
3. Không cần phải restart lại  web.

Thông thường với các view chúng ta sử dụng với Java như jsp, jsf  muốn nhìn thấy được sự thay đổi của giao diện ta phải F5 lại trang web. Tuy nhiên với  thymeleaf ta không cần F5 (tải lại) lại trang cũng có thể xem các thay đổi trên giao diện, mặc định với thymeleaf nó không thể xử lý được vấn đề này, tuy nhiên cũng ta config nó rất đơn giản trong file cấu hình bằng 1 dòng lệnh config duy nhất (nó được gọi là cache, mình sẽ hướng dẫn và nói sâu vấn đề này trong loạt bài hướng dẫn về thymeleaf sắp tới.

Ví dụ: Khi các bạn viết css cho một thẻ html nào đó, muốn nhìn thấy thay đổi của giao diện, các bạn cần phải load lại trang, tuy nhiên với thymeleaf không cần load hay F5 lại trang, ta vẫn nhìn thấy được sự thay đổi đó. OK?





Trong bài này, chúng ta đã cùng nhau tìm hiểu về thymeleaf trong java (spring boot), qua đó có cái nhìn tổng quan hơn về thymeleaf. Ở loạt bài hướng dẫn sau, tôi sẽ hướng dẫn các bạn cách sử dụng thymeleaf qua các ví dụ. Chúc các bạn vui!

00

Leave a Reply

Your email address will not be published. Required fields are marked *