Java中级—JSP九大内置对象和动作
一、内置对象
在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插件。