在本节中我们将学习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指令示例
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/264027.html