一、内置对象
在JSP中,内置对象又称为隐含对象,是指在不声明和创建的情况下就可以被使用的一些成员变量。JSP一共提供有9个内置对象,分别是request(响应对象)、pageContext(页面上下文对象)、session(会话对象)、application(应用程序对象)、out(输出对象)、config(配置对象)、page(页面对象)与exception(异常对象)。其具体描述见下表:
根据它们作用的不同,可以将以上九个内置对象分为四类:第一类,与Servlet有关的page和config;第二类,与Input/Output有关的out、request和response;第三类,与Context有关的application、session和pageContext;第四类,与Error有关的exception。
二、内置动作
JSP使用动作来实现动态地插入文件、实现重定向和对JavaBean的引用功能。它一共有6个基本动作:jsp:include、jsp:useBean、jsp:setProperty、jsp:getProperty、jsp:forward与jsp:plugin。
jsp:include:用来在页面被请求的时候引入一个文件。include指令是在JSP文件被转换成Servlet的时候引入文件,而jsp:include插入文件的时间是在页面被请求的时候,而且被引用文件不能包含某些JSP代码(例如不能设置HTTP头)。使用示例如下:
<jsp:include page="test.jsp" flush="true"> <jsp:param name="name" value="value"/> jsp:include>
以上代码表示在当前文件中可以引入test.jsp文件。
jsp:useBean:用来寻找或者实例化一个JavaBean。它使得开发人员既可以发挥Java组件重用的优势,同时也避免了损失JSP区别于Servlet的方便性。使用示例如下:
<jsp:useBean id="car" scope="session" class="com.Car">
以上代码表示实例化了一个com.Car类的实例。
jsp:setProperty:用来设置已经实例化的Bean对象的属性。使用实例如下:
<jsp:setProperty name="car" property="colour" value="red" />
以上代码用来设置名字为car的实例的colour属性为red。
jsp:getProperty:用来获取某个JavaBean的属性。使用示例如下:
colour=<jsp:getProperty name="car" property="colour">jsp:getProperty>
以上代码用来获取名字为car的实例的colour属性。
jsp:forward:用来把请求转到一个新页面。使用示例如下:
<jsp:forward page="/Servlet/login" />
以上代码把当前页面重定向到/Servlet/login来处理。
jsp:plugin:用于在浏览器中播放或显示一个对象。使用这个动作能插入所需的特定浏览器的OBJECT或EMBED元素来指定浏览器运行一个JAVA Applet所需的插件。使用示例如下:
<jsp:plugin type="applet" codebase="/ch5" code="Hello.class" height="40" width="320">
以上代码用来在浏览器中运行一个applet插件。