Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Outline

模板引擎

模板引擎不属于特定技术领域,它是跨领域跨平台的概念。 模板引擎的作用就是分离业务数据和最终呈现内容,它可以生成特定格式的文档(模板) 。

模板引擎简单来说,就是:模板 + 数据模型 = 输出

较早,也比较经典的模板引擎是 JavaEE 的标准技术 JSP。

但 JSP 存在以下缺点,导致逐渐被淘汰:

  • 性能差
    • JSP 本质上是 Servlet,第一次请求 JSP 页面,必须要在 web 服务器中编译成 servlet,所以第一次响应较慢。
    • 每次请求 JSP 都是访问servlet再用输出流输出的html页面。
    • JSP中的内容很多,页面响应会很慢,因为是同步加载。
  • 无法前后端分离
    • 动态资源和静态资源全部耦合在一起,无法做到前后端分离。一旦服务器出现状况,前后台一起玩完。
    • 而且 Java 工程师既当爹又当妈,又要维护 Java 代码,又要维护 JSP 代码,痛苦。
    • 前端工程师如果不理解 JSP 语法,面对各种 JSP 标签、表达式、指令,会一脸懵逼,痛苦。
  • 不是所有服务器都支持 - JSP 必须要在支持 JSP 技术的 web 服务器里运行(如 Tomcat)。但有些服务器则不支持 JSP ,如 Nginx。

在 Java 领域,目前最常见的模板引擎就是:

  • Freemark
  • Thymeleaf
  • Velocity

内容

资源

Morty Proxy This is a proxified and sanitized view of the page, visit original site.