① 注释元素 (Comments Elements)
1. <!-- comment [<%= expression >] -->
标准的HTML注释。JSP容器会将该注释发往客户端浏览器,但不在浏览器中显示,可以在HTML源文件中查看。
comment - 注释内容
expression - 可选的java表达式,JSP容器会对表达式求值并将结果作为注释内容发往客户端
2. <%-- comment --%>
JSP注释,JSP容器不会对该形式的注释进行编译,也不会将它发往客户端浏览器。
comment - 注释内容
3. // comment
/* comment */
标准java注释,只能包含在scriptlet中。容器不对该部分内容编译;也不会发送到客户端浏览器。
comment - 注释内容
② 脚本元素 (Scripting Elements)
1. <%! declaration %>
声明块,在该块内声明的java变量可以在声明处到本jsp页面结尾处的范围内使用。
jsp页面中类和方法的声明必须放在声明块内。
declaration - 要声明的变量、类或方法
2. <% scriptlet %>
脚本块,可以包含有效的java程序片段。
scriptlet - 标准java代码
3. <%= expression %>
表达式块,JSP容器会将表达式求值并输出到该位置。相当于<% out.print( expression ); %>。
expression - 标准java表达式,末尾不可以加分号
③ 指令元素 (Directives Elements)
1. <%@ page autoFlush="false" buffer="8" contextType="ctinfo"
errorPage="error_url" extends="javax.servlet.jsp.HttpJspPage"
import="import_list" info="comment" isELIgnored="true"
isErrorPage="false" isThreadSafe="true" language="java"
session="true" pageEncoding="ISO-8859-1" %>
page指令设定整个JSP页面的属性和相关功能。
autoFlush="true|false" - 是否自动清除输出流缓冲区。如果该属性指定为false,输出流缓冲区满后会抛出异常
buffer="none|size in kb" - 设定输出流缓冲区大小。none禁用缓冲
contextType="ctinfo" - 设定MIME类型和JSP网页的编码方式,中文为"text/html;charset=GB2312"
errorPage="error_url" - 设置页面发生异常时导向的页面
extends="class_name" - 设定JSP页面编译为servlet时的基类
import="import_list" - 导入java包,唯一可以重复出现的属性
info="text" - 设置本JSP页面的相关信息
isELIgnored="true|false" - 设置是否可以使用EL表达式
isErrorPage="true|false" - 设置本JSP页面是否为异常处理页面,只有异常处理页面才能使用exception对象
isThreadSafe="true|false" - 设置本页面是否可以响应多个请求
language="java" - 设置JSP容器编译本页面使用什么样的语言,目前只有java一种
session="true|false" - 设置是否在页面中启用session
pageEncoding="ISO-8859-1" - 设置JSP页面的编码方式
2. <%@ include file="relativeURLspec" %>
inclued指令用来静态包含另外一个文件,可以是HTML文件、JSP文件、文本文件或者一段java程序。
file="relativeURLspec" - 包含文件的路径
3. <%@ taglib uri="tagLibraryURI" tagdir="tagfile_dir" prefix="tagPrefix" %>
taglib指令用来在页面中引入自定义标签。
uri="tag_library_uri" - 自定义标签库TLD文件的存放位置
tagdir="tag_file_dir" - tag文件的目录
prefix="tag_prefix" - 标签的前缀
④ 动作元素 (Action Elements)
1. <jsp:useBean id="id" spoce="page|application|request|session"
class|beanName="class" type="type" />
在页面中引入JavaBean,通常有如下应用形式:
<jsp:userBean id="id" spoce="spoce" class="className" type="typeName" />
<jsp:userBean id="id" spoce="spoce" type="typeName" class="className" />
<jsp:userBean id="id" spoce="spoce" beanName="beanName" type="typeName" />
<jsp:userBean id="id" spoce="spoce" type="typeName" beanName="beanName" />
<jsp:userBean id="id" spoce="spoce" type="typeName">
id - javaBean实例化后的名字
class - 指定javaBean的类完全限定名
beanName - 代表javaBean的名字,通常利用java.beans.Beans类的instantiate()方法初始化
type - 指定Scripting变量定义的类型
spoce - 该javaBean的可视范围,可以是如下值:
page -页面共享
application -应用程序共享
request -请求范围共享
session -会话共享
2. <jsp:setProperty name="beanID" property="propertyName" value|param="value" />
通常放在useBean元素体内,用来为javaBean指定参数值,通常有如下应用形式:
<jsp:setProperty name="beanID" property="*" />
<jsp:setProperty name="beanID" property="propertyName" />
<jsp:setProperty name="beanID" property="propertyName" param="paramName" />
<jsp:setProperty name="beanID" property="propertyName" value="value" />
name - 要设置的javaBean的ID
property - 参数名称
value - 为属性指定值
param - 将属性的值设置为param指定的request变量的值
3. <jsp:getProperty name="beanID" propetry="property" />
将指定的javaBean属性值写到输出流。
name - 要取得属性值的javaBean的实例化的名称
property - 要取得的属性的名字
4. <jsp:include page="page_url" flush="true|false" />
动态包含一个文件到JSP页面。
page - 一个路径或一个java表达式,JSP容器会对表达式求值并将结果作为路径
flush - 是否自动清空被包含页面的输出流缓冲区
5. <jsp:forward page="page_url" />
将客户端所发出的请求,从一个JSP页面转交给另外一个JSP页面,该动作标签后的scriptlet将不被执行。
page - 要导航的目标路径。可以是一个表达式,由容器求值后将结果作为路径
6. <jsp:param name="name" value="value" />
只能配合<jsp:include>、<jsp:forward>和<jsp:plugin>使用,为这些动作标签提供request参数。
name - 指定提供的request参数的名称