JSP 指令
JSP 指令(Directive)是告知 JSP 容器如何编译当前 JSP 页面的配置型标签,作用于整个 JSP 页面,不产生任何输出内容,仅影响 JSP 的编译过程。
语法格式:
1 | <%@ 指令名 属性1="值1" 属性2="值2" ... %> |
核心分类(3 类常用指令):
(1)page 指令(最核心)
作用:定义 JSP 页面的全局属性(编码、语言、错误页面、会话等)。常用属性:
language:指定页面使用的脚本语言(默认java);contentType:设置响应的 MIME 类型和编码(如text/html;charset=UTF-8);pageEncoding:设置 JSP 页面本身的编码(推荐与contentType编码一致);import:导入 Java 类 / 包(如import="java.util.List,java.sql.Connection");session:是否启用会话(默认true,设为false则无法使用session隐式对象);errorPage:指定当前页面抛出异常时跳转的错误页面;isErrorPage:是否为错误页面(设为true则可使用exception隐式对象);buffer:设置out对象的缓冲区大小(如8kb,默认 8KB;设为none则无缓冲);autoFlush:缓冲区满时是否自动刷新(默认true;设为false则缓冲区满时抛异常)。
示例:
1 | <%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" import="java.util.Map" session="true" %> |
(2)include 指令
作用:静态包含另一个文件(HTML、JSP、文本文件等),在编译阶段将被包含文件的内容直接嵌入当前 JSP 页面,最终生成一个 Servlet。示例:
1 | <%@ include file="header.jsp" %> |
(3)taglib 指令
作用:引入自定义标签库或标准标签库(JSTL),并指定标签前缀。示例(引入 JSTL 核心标签库):
1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> |
核心特点:
- 指令作用域为整个页面,位置不限(通常放在页面顶部);
- 指令不产生客户端可见的输出,仅影响 JSP 编译为 Servlet 的过程。



