动态拼接内容
服务器端模板引擎(Server-Side Template Engine) 的特性,比如 JSP(Java Server Pages)、ASP.NET、PHP 等技术中常用的 <% %>
语法。
它的核心作用是:
- 动态拼接内容:在 HTML 中嵌入编程语言(如 Java、C#、PHP),实现逻辑控制(循环、条件判断)和数据渲染。
- 模板继承 / 复用:通过
include
、extend
等指令,引用公共头部、尾部或布局文件,避免重复代码。
举个简单例子(JSP 语法):
<!-- 公共头部模板 header.jsp -->
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title><%= pageTitle %></title> <!-- 动态赋值标题 -->
</head>
<body>
<!-- 子页面 home.jsp -->
<%@ include file="header.jsp" %> <!-- 继承头部 -->
<% String pageTitle = "首页"; %> <!-- 定义变量 -->
<h1>欢迎来到 <%= pageTitle %></h1> <!-- 输出变量 -->
<p>当前时间:<%= new java.util.Date() %></p> <!-- 直接执行 Java 代码 -->
</body>
</html>
常见模板引擎:
- JSP(Java):用
<% %>
写逻辑,<%= %>
输出变量。 - EJS(Node.js):语法类似,用
<% %>
控制逻辑,<%= %>
输出。 - Twig(PHP):用
{% %}
写逻辑,{{ }}
输出变量。 - ASP.NET:用
<%= %>
输出,<% %>
写逻辑。
这种方式曾是早期动态网页的主流,但现在前端更流行 单页应用(SPA) + API 接口 的模式,模板渲染更倾向于在前端用 JavaScript(如 Vue/React 的模板语法)完成。不过服务端模板引擎在某些场景(如需要 SEO 的页面)仍有应用价值~