Difference between spring JSP MVC and Thymeleaf MV

2020-05-18 05:09发布

问题:

What is the difference between spring JSP MVC and Thymeleaf MVC? Which one is best way for spring web design ?

回答1:

Both of them are view layers of Spring MVC. Firstly, the very basic difference is the file extensions. (.jsp & .html)

Branislav in the comments is right, JSP is not a template engine. It's compiled to the servlet and then the servlet is serving web content. On the other hand, Thymeleaf is a template engine which takes the HTML file, parses it and then produces web content which is being served.

  • Thymeleaf is more like an HTML-ish view when you compare it with JSP views.

  • We can use prototype code in thymeleaf : http://www.dineshonjava.com/2015/01/thymeleaf-vs-jsp-spring-mvc-view-layer.html#.WEkLzLKLTig

  • Since it is more HTML-ish code, thymeleaf codes are more readable (of course you can disrupt it and create unreadable codes, but at the end, it will be more readable when you compare it with .jsp files)

  • Standard Dialect (The expression language) is much more powerful than JSP Expression Language

  • If we put all this to an edge, thymeleaf is the slow one here.

I would suggest you to take a look at this doc : http://www.thymeleaf.org/doc/articles/thvsjsp.html



回答2:

Thymeleaf is template resolver that process template and produce pure html.

Thymeleaf is way better in my opinion because it have good underlying priciples and exploits natural behaviour of browsers.

Jsp makes html hard to read, it becomes weird mixture of html and java code which makes a lot of problems in comunication between designer - developer.

Thymeleaf preserves html and only adds tags that are intuitive and very expressive. It enables you to work in offline mode and it works great with spring and I definitely recommend it above jsp.

http://www.dineshonjava.com/2015/01/thymeleaf-vs-jsp-spring-mvc-view-layer.html?m=1