JSP和Thymeleaf
JSP已经存在了很长的时间,在Java Web服务器中无所不在,但是它存在一些缺陷。JSP最明显的问题在于它看起来像HTML或XML,但其实并不是。大多数JSP模板都是采用HTML的形式,但掺杂了各种JSP标签库的标签,使其变得很混乱。虽然这些标签库能够以很便利的方式为JSP带来动态渲染的强大功能,但是它也摧毁了我们想维持一个格式良好的文档的可能性。
标签库和JSP缺乏良好格式的一个副作用就是它很少能够与其产生的HTML类似,在Web浏览器或HTML编辑其中查看未经渲染的JSP模板会令人非常困惑,这个结果是不完整的。同时JSP规范是与Servlet规范紧密耦合的,这就意味着JSP只能用在基于Servlet的Web应用之中。
Thymeleaf是一项很有吸引力的技术,因为它能创建原始的模板,这些模板是纯HTML,能够像静态的HTML那样以原始的方式编写和预览,并且能够在运行时渲染动态模型数据。除此之外,Thymeleaf是与Servlet没有耦合关系的,这样它就能够用在JSP不能使用的领域。