jsp有三种类型指令标签 <%@ page...%>定义页面相关属性,如脚本语言,错误页面和缓冲要求 <%@ include... %>在编译阶段包括文件 <%@ taglib...%>声明页面中使用的包含自定义操作的标签库
指令可以有多个属性,可以将其列为键值对,并以逗号分隔。 @符号和指令名称之间,以及最后一个属性和关闭%>之间的空格是可选的。
page指令用于向容器提供说明。这些说明涉及当前的JSP页面。可以在JSP页面的任何位置编写page指令。 按照惯例,page指令被编码在JSP页面的顶部。
下表列出了与page指令相关联的属性
序号 属性 说明
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语句一样。
8 info 定义可以使用servlet的getServletInfo()方法访问的字符串。
9 isThreadSafe 定义生成的servlet的线程模型。
10 language 定义JSP页面中使用的编程语言。
11 session 指定JSP页面是否参与HTTP会话
12 isELIgnored 指定JSP页面中的EL表达式是否被忽略。
13 isScriptingEnabled 确定脚本元素是否被允许使用。
errorPage与isErrorPage的最大区别是前者是转发到错误页面,错误代码为200后者是500.
include指令
include指令用于在编译阶段包括一个文件。这个指令告诉容器在编译阶段将其他外部文件的内容合并到当前JSP文件中。 可在JSP页面的任何位置使用include指令进行编码
本指令一般用法形式如下 <%@ include file = "relative url" >
include指令中的文件名实际上是一个相对URL。如果只指定一个没有关联路径的文件名,那么JSP编译器会假定该文件与JSP在同一个目录中。 可以使用XML编写上述代码效果相同,如下所示: <jsp:directive.include file = "relative url" />
taglib指令
JSP API允许自定义的JSP标签,如:HTML或XML标签,标签库是一组实现自定义行为的用户定义标签。taglib指令声明JSP页面使用一组自定义标签,标识库的位置,并提供了在JSP页面中标识自定义标签的方法。
taglib指令遵循下面给出的语法 - <%@ taglib uri="uri" prefix = "prefixOfTag" >
HTML这里,uri属性值解析为容器理解的位置,并且prefix属性通知容器什么位置的标记是自定义操作。 可以使用XML编写上述语法,如下所示: <jsp:directive.taglib uri = "uri" prefix = "prefixOfTag">