JSP - 指令( Directives)
在本章中,我们将讨论JSP中的指令。 这些指令为容器提供了指导和说明,告诉它如何处理JSP处理的某些方面。
JSP指令会影响servlet类的整体结构。 它通常有以下形式 -
<%@ directive attribute = "value" %>
指令可以有许多属性,您可以将这些属性列为键值对,并用逗号分隔。
@符号和指令名称之间以及最后一个属性和结束%>之间的空格是可选的。
指令标签有三种类型 -
S.No. | 指令和说明 |
---|---|
1 | 《%@ page ... %》 定义与页面相关的属性,例如脚本语言,错误页面和缓冲要求。 |
2 | 《%@ include ... %》 在翻译阶段包含一个文件。 |
3 | 《%@ taglib ... %》 声明包含页面中使用的自定义操作的标记库 |
JSP - 页面指令
page指令用于向容器提供指令。 这些说明适用于当前的JSP页面。 您可以在JSP页面中的任何位置编写页面指令。 按照惯例,页面指令在JSP页面的顶部进行编码。
以下是页面指令的基本语法 -
<%@ page attribute = "value" %>
您可以编写上述语法的XML等价物,如下所示 -
<jsp:directive.page attribute = "value" />
属性 (Attributes)
下表列出了与page指令相关的属性 -
S.No. | 属性和目的 |
---|---|
1 | buffer 指定输出流的缓冲模型。 |
2 | autoFlush 控制servlet输出缓冲区的行为。 |
3 | contentType 定义字符编码方案。 |
4 | errorPage 定义报告Java未经检查的运行时异常的另一个JSP的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 Directive上查看与上述所有属性相关的更多详细信息。
包含指令
include伪指令用于在转换阶段包含文件。 该指令告诉容器在转换阶段将其他外部文件的内容与当前JSP合并。 您可以在JSP页面中的任何位置编写include指令。
该指令的一般使用形式如下 -
<%@ include file = "relative url" >
include伪指令中的文件名实际上是一个相对URL。 如果只指定没有关联路径的文件名,JSP编译器会假定该文件与JSP位于同一目录中。
您可以编写上述语法的XML等价物,如下所示 -
<jsp:directive.include file = "relative url" />
有关include指令的更多详细信息,请查看Include Directive 。
taglib指令
JavaServer Pages 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指令 。