<%@ attribute %>
<%@ include %>
<%@ page %>
<%@ tag %>
<%@ taglib %>
<%@ variable %>
说明
这个指令只能用于标签文件中。它声明了标签文件所支持的属性。
语法
< %@ attribute name ="attrName" [description ="description" ]
[required ="true|false" ] [fragment ="true|false" | [type ="attrDataType" ]
[rtexprvalue ="true|false" ]] % >
属性
名称 默认值 描述
description 无 对属性的描述,可以通过网页设计工具提供给网页设计人员
fragment false true时表示属性为一个jsp代码片段,false时转换为type属性所指定的类型
name 无 属性名
required false 如果该属性是必须的,则为true
rtexdprvalue true 如果属性必须作为一个静态文本值提供,为false。如果值为true,表示属性值可以由EL或java表达式提供
type String 属性数据类型,不支持基本类型
备注
使用fragment属性时,就不能再使用rtexprvalue和type属性。对于一个片段,总能接受运行时表达式值,而且类型固定为javax.servlet.jsp.tagext.JspFragment。
示例
< %@ attribute name ="date" type ="java.util.Date" % >
< %@ attribute name ="pattern" fragment ="true" % >
这个指令只能用于标签文件中。它声明了标签文件所支持的属性。
语法
< %@ attribute name ="attrName" [description ="description" ]
[required ="true|false" ] [fragment ="true|false" | [type ="attrDataType" ]
[rtexprvalue ="true|false" ]] % >
属性
名称 默认值 描述
description 无 对属性的描述,可以通过网页设计工具提供给网页设计人员
fragment false true时表示属性为一个jsp代码片段,false时转换为type属性所指定的类型
name 无 属性名
required false 如果该属性是必须的,则为true
rtexdprvalue true 如果属性必须作为一个静态文本值提供,为false。如果值为true,表示属性值可以由EL或java表达式提供
type String 属性数据类型,不支持基本类型
备注
使用fragment属性时,就不能再使用rtexprvalue和type属性。对于一个片段,总能接受运行时表达式值,而且类型固定为javax.servlet.jsp.tagext.JspFragment。
示例
< %@ attribute name ="date" type ="java.util.Date" % >
< %@ attribute name ="pattern" fragment ="true" % >
<%@ include %>
说明
包含一个静态文件,将其内容与所包含的页面合并,其后再将结合的结果转换为一个页面实现类。
语法
< %@ indlude file ="pageOrContextRelativePath" % >
属性
名称 默认值 描述
file 无 所包含文件的页面相对URI路径或上下文相对路径
备注
一个页面可以有多个Include指令。包含页面和所有被包含的页面加在一起构成了所谓的JSP编译单元。
示例
< %@ include file ="header.html" % >
包含一个静态文件,将其内容与所包含的页面合并,其后再将结合的结果转换为一个页面实现类。
语法
< %@ indlude file ="pageOrContextRelativePath" % >
属性
名称 默认值 描述
file 无 所包含文件的页面相对URI路径或上下文相对路径
备注
一个页面可以有多个Include指令。包含页面和所有被包含的页面加在一起构成了所谓的JSP编译单元。
示例
< %@ include file ="header.html" % >
<%@ page %>
说明
这个指令只能用于JSP页面中。它定义了依赖于页面的属性,如脚本语言、错误页面和缓冲需求等。
语法
< %@ page [autoFlush ="true|false" ] [buffer ="8kb|NNkb|none" ]
[contentType ="mimeType" ] [errorPage ="pageOrContextRelativePath" ]
[extends ="className" ] [import ="packageList" ] [info ="info" ]
[isELIgnored ="true|false" ] [isErrorPage ="true|false" ]
[isThreadSafe ="true|false" ] [language ="java|language" ]
[pageEncoding ="encoding" ] [session ="true|false" ] % >
属性
名称 默认值 描述
autoFlush true 是否自动刷新输出,如果为false,缓冲区满时抛出异常
buffer 8kb 指定页面缓冲区大小
contentType text/html或text/xml 页面所生成响应的MIME类型,还可能包括响应字符集。对于JSP页面,默认值为text/html;对应JSP Document,默认值为text/xml
errorPage 无 页面代码抛出异常时,要跳转的目标页面
extends 无 JSP页面的编译单元的基类,必须实现为JspPage或HttpJspPage接口
import 无 页面导入的java包,唯一可以重复的属性
info 无 页面描述文本
isELIgnored false 是否忽略EL表达式
isThreadSafe true 页面是否可以为并行的请求提供服务
language java 页面脚本的语言,目前之支持java
pageEncoding 见描述 用于JSP页面的编码。常规页面默认为ISO-8859-1,对于JSP Document文档,默认为UTF-8
session true 是否在页面启用用户会话
备注
编译单位可以有多个page指令,但所有的import和pageEncoding属性都会被合并。对于编译单元内的文件,只能有一个page指令。
示例
< %@ page language ="java" contextType ="text/html;charset=GB2312" % >
< %@ page import ="java.util.*,java.text.*" % >
< %@ page import ="java.sql.Date" % >
这个指令只能用于JSP页面中。它定义了依赖于页面的属性,如脚本语言、错误页面和缓冲需求等。
语法
< %@ page [autoFlush ="true|false" ] [buffer ="8kb|NNkb|none" ]
[contentType ="mimeType" ] [errorPage ="pageOrContextRelativePath" ]
[extends ="className" ] [import ="packageList" ] [info ="info" ]
[isELIgnored ="true|false" ] [isErrorPage ="true|false" ]
[isThreadSafe ="true|false" ] [language ="java|language" ]
[pageEncoding ="encoding" ] [session ="true|false" ] % >
属性
名称 默认值 描述
autoFlush true 是否自动刷新输出,如果为false,缓冲区满时抛出异常
buffer 8kb 指定页面缓冲区大小
contentType text/html或text/xml 页面所生成响应的MIME类型,还可能包括响应字符集。对于JSP页面,默认值为text/html;对应JSP Document,默认值为text/xml
errorPage 无 页面代码抛出异常时,要跳转的目标页面
extends 无 JSP页面的编译单元的基类,必须实现为JspPage或HttpJspPage接口
import 无 页面导入的java包,唯一可以重复的属性
info 无 页面描述文本
isELIgnored false 是否忽略EL表达式
isThreadSafe true 页面是否可以为并行的请求提供服务
language java 页面脚本的语言,目前之支持java
pageEncoding 见描述 用于JSP页面的编码。常规页面默认为ISO-8859-1,对于JSP Document文档,默认为UTF-8
session true 是否在页面启用用户会话
备注
编译单位可以有多个page指令,但所有的import和pageEncoding属性都会被合并。对于编译单元内的文件,只能有一个page指令。
示例
< %@ page language ="java" contextType ="text/html;charset=GB2312" % >
< %@ page import ="java.util.*,java.text.*" % >
< %@ page import ="java.sql.Date" % >
<%@ tag %>
说明
只能在Tag File文件中使用,定义了文件自身的属性,另外还定义了相应自定义标签的属性。
语法
< %@ tag [body-content ="empty|scriptless|tagdependent" ]
[description ="description" ] [display-name ="displayName" ]
[dynamic-attributes ="attrCollVar" ] [example ="example" ]
[import ="packageList" ] [isELIgnored ="true|false" ]
[language ="java" ] [large-icon ="largeIconPath" ]
[pageEncoding ="encoding" ] [small-icon ="smallIconPath" ] % >
属性
名称 默认值 描述
body-content scriptless 定义动作体类型
description 无 文本描述信息
display-name 无 IDE环境显示的名称
dynamic-attributes 无 指定用于保存未声明属性值的变量,为一Map,键为属性名,值为属性值
example 无 展示如何使用标签的例子
import 无 页面导入的java包,唯一可以重复的属性
isELIgnored false 是否忽略EL表达式
language java 页面脚本的语言,目前之支持java
lareg-icon 无 IDE环境下使用的大图标(32*32)的路径
pageEncoding ISO-8859-1 用于标签文件的编码
small-icon 无 IDE环境下使用的小图标(16*16)的路径
备注
对于JSP2.0容器,isELIgnored的默认值为false,而对于早期JSP容器,该值为true。
示例
< %@ tag body-content ="empty" dynamic-attributes ="dynAttrs" % >
只能在Tag File文件中使用,定义了文件自身的属性,另外还定义了相应自定义标签的属性。
语法
< %@ tag [body-content ="empty|scriptless|tagdependent" ]
[description ="description" ] [display-name ="displayName" ]
[dynamic-attributes ="attrCollVar" ] [example ="example" ]
[import ="packageList" ] [isELIgnored ="true|false" ]
[language ="java" ] [large-icon ="largeIconPath" ]
[pageEncoding ="encoding" ] [small-icon ="smallIconPath" ] % >
属性
名称 默认值 描述
body-content scriptless 定义动作体类型
description 无 文本描述信息
display-name 无 IDE环境显示的名称
dynamic-attributes 无 指定用于保存未声明属性值的变量,为一Map,键为属性名,值为属性值
example 无 展示如何使用标签的例子
import 无 页面导入的java包,唯一可以重复的属性
isELIgnored false 是否忽略EL表达式
language java 页面脚本的语言,目前之支持java
lareg-icon 无 IDE环境下使用的大图标(32*32)的路径
pageEncoding ISO-8859-1 用于标签文件的编码
small-icon 无 IDE环境下使用的小图标(16*16)的路径
备注
对于JSP2.0容器,isELIgnored的默认值为false,而对于早期JSP容器,该值为true。
示例
< %@ tag body-content ="empty" dynamic-attributes ="dynAttrs" % >
<%@ taglib %>
说明
声明一个在页面中使用的标签库
语法
< %@ taglib prefix ="prefix" [uri ="taglibURI" | tagdir ="contextRelatvePath" ] % >
属性
名称 默认值 描述
prefix 无 指定自定义标签库的前缀
uri 无 可以是在库TLD中或应用web.xml文件中定义的库的符号,也可以是库TLD文件或jar文件的页面相对URI路径或上下文相对URI路径
tagdir 无 包含标志文件的目录的上下文相对路径,以/WEB-INF/tags开头
备注
可以在jsp页面和tag file页面使用。
示例
< %@ taglib prefix ="ora" uri ="orataglib" % >
< %@ taglib prefix ="c" uri ="http://java.sun.com/jstl/core" % >
< %@ page prefix ="mylib" tagdir ="/WEB-INF/tags/mylib" % >
声明一个在页面中使用的标签库
语法
< %@ taglib prefix ="prefix" [uri ="taglibURI" | tagdir ="contextRelatvePath" ] % >
属性
名称 默认值 描述
prefix 无 指定自定义标签库的前缀
uri 无 可以是在库TLD中或应用web.xml文件中定义的库的符号,也可以是库TLD文件或jar文件的页面相对URI路径或上下文相对URI路径
tagdir 无 包含标志文件的目录的上下文相对路径,以/WEB-INF/tags开头
备注
可以在jsp页面和tag file页面使用。
示例
< %@ taglib prefix ="ora" uri ="orataglib" % >
< %@ taglib prefix ="c" uri ="http://java.sun.com/jstl/core" % >
< %@ page prefix ="mylib" tagdir ="/WEB-INF/tags/mylib" % >
<%@ variable %>
说明
只能在Tag File中使用,声明了标记文件为页面所提供的变量。
语法
< %@ variable name-given ="attrAndVarName" | name-from-attribute ="attrName"
alias ="varName" [declare ="true|false" ] [description ="description" ]
[scope ="AT_END|AT_BEGIN|NESTED" ] [variable-class ="varType" ] % >
属性
名称 默认值 描述
name-given 无 标记文件用于提供其创建值的变量的名字
name-from-attribute 无 指定创建的变量的名字由属性指定
alias 无 标记文件用于保存其所创建值的局部页面作用域变量的名字。容器将此局部变量的值复制到调用页面的一个页面作用域变量中
declare true 指定用于保存未声明属性值的变量,为一Map,键为属性名,值为属性值
description 无 描述
scope NESTED 导入变量的范围
variable-class String 验证类的全路径
备注
name-from-attribute属性必须和alias共同使用,但是不能和name-given一起出现。
示例
< %@ variable name-from-attribute ="var" alias ="current"
Variable-class ="java.util.Date" scope ="AT_END" % >
< %@ attribute name ="var" required ="true" rtexprvalue ="false" % >
只能在Tag File中使用,声明了标记文件为页面所提供的变量。
语法
< %@ variable name-given ="attrAndVarName" | name-from-attribute ="attrName"
alias ="varName" [declare ="true|false" ] [description ="description" ]
[scope ="AT_END|AT_BEGIN|NESTED" ] [variable-class ="varType" ] % >
属性
名称 默认值 描述
name-given 无 标记文件用于提供其创建值的变量的名字
name-from-attribute 无 指定创建的变量的名字由属性指定
alias 无 标记文件用于保存其所创建值的局部页面作用域变量的名字。容器将此局部变量的值复制到调用页面的一个页面作用域变量中
declare true 指定用于保存未声明属性值的变量,为一Map,键为属性名,值为属性值
description 无 描述
scope NESTED 导入变量的范围
variable-class String 验证类的全路径
备注
name-from-attribute属性必须和alias共同使用,但是不能和name-given一起出现。
示例
< %@ variable name-from-attribute ="var" alias ="current"
Variable-class ="java.util.Date" scope ="AT_END" % >
< %@ attribute name ="var" required ="true" rtexprvalue ="false" % >