在本节中我们将学习JSP中的指令。这些指令为容器提供了指导和说明,告诉容器如何处理JSP中的某些方面。
JSP指令影响Servlet类的整体结构。 它通常具有以下形式-

<%@ directive attribute = "value" %>

指令可以具有许多属性,可以将它们列出为键值对,并用逗号分隔。@符号和指令名称之间以及最后一个属性和结束%>之间的空格是可选的。

指令标记有三种类型-

编号 指令 描述
1 <%@ page ... %> 定义与页面有关的属性,例如脚本语言,错误页面和缓冲要求。
2 <%@ include ... %> 在转换阶段包含文件。
3 <%@ taglib ... %> 声明页面中使用的包含自定义操作的标记库。

1. JSP page指令

page指令用于向容器提供指令,这些说明与当前的JSP页面有关。可以在JSP页面中的任何位置编写page指令。 按照约定,page指令在JSP页面的顶部进行编码。

以下是page指令的基本语法-

<%@ page attribute = "value" %>

可以编写与上述语法等效的XML,如下所示:

<jsp:directive.page attribute = "value" />

属性
下表列出了与page指令关联的属性 -

编号 属性 目的
1 buffer 指定输出流的缓冲模型。
2 autoFlush 控制Servlet输出缓冲区的行为。
3 contentType 定义字符编码方案。
4 errorPage 定义另一个报告Java未经检查的运行时异常的URL。
5 isErrorPage 指示此JSP页面是否是另一个JSP页面的errorPage属性指定的URL。
6 extends 指定生成的servlet必须扩展的超类。
7 import 指定要在JSP中使用的软件包或类的列表,就像Java import语句对Java类所做的那样。
8 info 定义一个可以使用servlet的getServletInfo()方法访问的字符串。
9 isThreadSafe 为生成的servlet定义线程模型。
10 language 定义JSP页面中使用的编程语言。
11 session 指定JSP页面是否参与HTTP会话
12 isELIgnored 指定是否忽略JSP页面内的EL表达式。
13 isScriptingEnabled 确定是否允许使用脚本元素。

更多应用,请参考:page指令示例

2. JSP include指令

include指令用于在转换阶段包含文件。该指令告诉容器在转换阶段将其他外部文件的内容与当前JSP合并。可以在JSP页面的任何位置编写include指令。

include指令的一般用法如下:

<%@ include file = "relative_url" >

include指令中的文件名实际上是相对URL。 如果仅指定没有关联路径的文件名,则JSP编译器将假定该文件与JSP位于同一目录中。
可以编写与上述语法等效的XML,如下所示:

<jsp:directive.include file = "relative_url" />

更多应用,请参考:include指令示例

3. JSP taglib指令

JSP API允许开发人员定义看起来像HTML或XML标记的自定义JSP标记,并且标记库是一组实现自定义行为的用户定义的标记。
taglib指令声明JSP页面使用了一组定制标记,标识了库的位置,并提供了在JSP页面中标识定制标记的方法。

taglib指令遵循以下给出的语法-

<%@ taglib uri="uri" prefix = "prefixOfTag" >

在这里,uri属性值解析为容器可以理解的位置,而prefix属性则通知容器标记的哪些位(或前缀)是自定义操作。
可以编写与上述语法等效的XML,如下所示:

<jsp:directive.taglib uri = "uri" prefix = "prefixOfTag" />

有关与taglib指令相关的更多详细信息,请参考:taglib指令示例