JSP页面组件
JSP页面由各种组件组成,可以在JSP应用程序中使用这些组件来添加其他功能,如添加添加和循环结构或使用JavaBean组件。JSP页面的四个组件为:
JSP指令
JSP脚本
JSP隐式对象
JSP动作
1. JSP指令
JSP页面中的指令元素提供关于特定JSP页面的全局信息,有三种类型:
Page指令
Taglib指令
Include指令 要调用指令,需要使用符号<%@directive attribute = “value”%>;
page指令
page指令定义将关于JSP页面一般设置通知给Web容器的属性。您可以用page指令指定不同属性。page指令的语法为: <%@ page attribute_list %>; 下表列出了page指令支持的各种属性及可能的值和描述:
属性名称
描述
language
定义JSP页面的脚本语言。
extends
定义JSP生成的servlet扩展的父类。
import
将包、类或接口的列表导入生成的servlet中。
session
指定所生成的servlet能否访问会话。如果属性值设置为true,将生成隐式对象session。session属性的默认值是true。
buffer
指定输出缓冲区的大小,则自动属性输出缓冲区。如果属性值设置为false,则缓冲区满时将引发异常。autoFlush属性的默认值是true。
autoflush
如果此属性值设置为true,则自动属性输出缓冲区。如果属性值设置为false,则缓冲区满时将引发异常。autoFlush属性的默认值是ture。
isThreadSafe
指定JSP页面是否线程安全。
errorPage
指定将任何已生成而未处理的异常指向到该URL。
isErrorPage
如果此属性值设置为true,则指定当前JSP页面为错误页面。isErrorPage属性的值是false。
contentType
定义响应的MIME类型。contentType属性的默认值是text/html。
include指令
include指令用于在JSP页面编译期间以相对URL的形式要插入的文件的名称。所插入文件的内容称为JSP页面的组成部分。include指令还可以用于插入代码中多个页面的部分,从而避免 为每个代码分别使用bean。定义include指令的语法为: <%@ include file = " URLname "%> 例如,要在包含Superstore在线商场的名称和徽标的JSP页面上包括一个HTML文件(Superstore.html),代码行可以写成: <%@ include file = " Superstore.html "%>
taglib指令
taglib指令将自定义标记导入当前JSP页面上。自定义标记指用户定义的标记,用于在JSP页面 中执行重复性任务。标记库描述符(TLD)文件定义自定义标记的功能。
taglib指令将其自身与URI相关联,以便唯一地标识一个自定义标记。它还和能将此自定义标记与JSP页面上使用的其他标记库区分开的标记前缀字符串相关联。在JSP页面上导入taglib指令的语法为: <%@ taglib uri = " taglib_lib_URI" prefix = " prefix "%>
属性
描述
Uri
查找自定义标记的TLD文件。
prefix
定义用于区分自定义标记实例的前缀字符串。
2. JSP脚本元素
JSP脚本元素用于直接将Java代码嵌入到HTML页面中。可以在JSP页面中使用的各种类型的JSP脚本元素有:
声明:JSP声明提供了一种定义变量和方法的机制。声明语句放在<%!和%>符号之间,始终以分号结尾。 使用JSP声明变量的代码段如下: <%! int i =0; int j =0; int z=0; int prod=0; %>
表达式:JSP表达式用于直接将值插入到输出中。JSP表达式在用户做出HTTP请求时求值。在JSP文件中包括JSP表达式的语法为: <%= expression>
Scriptlet:JSP scriplet由包含<%和%>符号内的有效Java代码段组成。JSP scriptlet请求时执行,且可以使用声明、表达式或JavaBean。声明JSP scriptlet包括有效Java代码的语法为: <%Java code%>
3. JSP隐式对象
JSP中的对象可以使用指令隐式创建、使用标准操作显式创建或通过在scriptlet中声明来直接创建。JSP隐式对象指可以纳入到JSP表达式和scriptlet中的特定预定义的变量。JSP的隐式对象通过servlet类和接口实现。下表列出了各种隐式变量及其类和描述:
隐式对象
类
描述
application
javax.servlet.ServletContext
定义Web应用程序,一般是当前Web山下文中的应用程序。
config
javax.Servlet.ServletConfig
表示ServletConfig类的对象。
exception
java.lang.Throwable
表示JSP页面中的Throwable异常。
Out
javax.servlet.jsp.JspWriter
表示向客户机发送响应的JspWriter的对象。JspWriter扩展了PrintWriter类,一般由JSP页面用于发送客户机响应。
page
java.lang.Object
表示JSP页面的当前实例,其中该当前实例用于指称所生成servlet的当前实例。
session
javax.servlet.http.HttpSession
表示HttpSession接口的会话对象。
response
javax.servlet.http.HttpServletResponse
表示HttpServletResponse对线的响应对象,用于向客户机发送HTML输出。
request
javax.servlet.http…HttpServletRequest
表示HttpServletRequest对象的请求对象。用于检索和请求一起提交的数据。