JSP动作元素

JSP动作元素
本章将介绍JSP的动作元素的作用,并对JSP动作元素进行分类。将详细介绍其中的JSP基本动作元素,包括<jsp:include>、<jsp:forward>、<jsp:param>、<jsp:plugin>、<jsp:params>、<jsp:fallback>。
熟练使用<jsp:include>动作元素来包含文件。
熟练使用<jsp:forward>动作元素来实现页面跳转。
熟练使用<jsp:param>动作元素来传递参数。
了解使用<jsp: plugin >动作元素来执行Applet。
1  JSP动作元素分类
  JSP动作元素可以用来动态的包含文件、网页跳转以及使用JavaBean组件等等。JSP动作元素的语法如下。
<jsp:XXX />
或者
<jsp:XXX > </jsp:XXX>
JSP动作元素分为如下五类。
第一类是与存取JavaBean有关的,包括如下三个动作元素。
<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>
第二类是JSP基本动作元素,也是JSP 1.2就开始有的动作元素,包括如下六个动作元素。
<jsp:include>、<jsp:forward>、<jsp:param>、<jsp:plugin>、<jsp:params>、<jsp:fallback>

2  JSP动作元素分类
  第三类是JSP 2.0新增的动作元素,主要与JSP document有关,包括如下六个动作元素。
<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>、<jsp:text>、<jsp:output>
第四类也是JSP 2.0新增的动作元素,主要用来动态的生成XML元素标签的值,包括如下三个动作元素。
<jsp:attribute>、<jsp:body>、<jsp:element>
第五类也是JSP 2.0新增的动作元素,主要用来Tag File中,包括如下两个动作元素。
<jsp:invoke>、<jsp:doBody>

3  <jsp:include>动作元素
  <jsp:include>动作元素用来包含静态和动态的文件。如果被包含的文件为静态的文件,那么只是单纯的加到JSP页面中,不会进行任何处理;如果被包含的文件为动态的文件,那么会先进行处理,然后将处理的结果加到JSP页面中。
<jsp:include>动作元素的语法格式如下。
<jsp:include page=”包含文件URL地址”  flush=”true | false”>
<jsp:include>动作元素包含两个属性,page和flush。
其中page属性用来指定被包含文件的URL地址。flush属性用来指定缓冲区满时,是否进行清空。如果设置为true,那么缓冲区满时将进行清空;如果设置为false,那么缓冲区满时不会进行清空。flush属性的默认值为false。

3.1  使用<jsp:include>动作元素包含静态的文件
  <jsp:include>动作元素用来包含静态的文件时,那么只是单纯的加到JSP页面中,不会进行任何处理。
  01 <%@ page language="java" contentType="text/html;charset=gb2312"%>
02 <html>
03 <head>
04 <title>包含静态文件</title>
05 </head>
06 <body>
07 使用jsp:include动态元素包含静态文件<br>
08 <jsp:include page="content.txt"></jsp:include>
09 </body>
10 </html>

  3.2  使用<jsp:include>动作元素包含动态的文件
  <jsp:include>动作元素用来包含的文件为动态的文件,那么会先进行处理,然后将处理的结果加到JSP页面中。
  01 <%@ page language="java" contentType="text/html;charset=gb2312"%>
02 <html>
03 <head>
04 <title>包含动态文件</title>
05 </head>
06 <body>
07 使用jsp:include动态元素包含动态文件<br>
08 当前日期与时间:<jsp:include page="content.jsp"></jsp:include>
09 </body>
10 </html>

  3.3  <jsp:include>和<%@ include%>的区别
  使用<%@ include%>指令元素只是将页面的内容静态的包含进来,如果被包含的文件中有JSP代码,则会执行该代码,而不管该文件是否为动态文件。
<jsp:include>动作元素动态的包含文件,如果被包含的文件是静态的,则直接将内容包含进行,不会进行处理;而如果被包含的文件是动态的,则先执行,再将结果包含进行并进行显示。

<jsp:include>动作元素和<%@ include%>指令元素的区别如下。
使用<%@ include%>指令元素是将所以的被包含文件包含进来之后,然后再进行编译等处理,可以简单的称其为先包含再处理。
而使用<jsp:include>动作元素是先将所以的代码处理完成之后,再将处理完成的代码的结果包含进行,可以简单的称其为先处理再包含。
 
4  <jsp:forward>动作元素
  <jsp:forward>动作元素用来转移用户的请求,使得用户请求的页面从一个页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户的地址栏不会发生任何的变化。
<jsp: forward >动作元素的语法格式如下。
<jsp: forward page=”跳转文件URL地址” >
<jsp:include>动作元素只包含一个属性即page,page属性用来指定跳转文件的URL地址。

  4.1 使用<jsp: forward >动作元素实现页面跳转
  01 <%@ page language="java" contentType="text/html;charset=gb2312"%>
02 <html>
03 <head>
04 <title>jsp:forward动作指令</title>
05 </head>
06 <body>
07 使用jsp:forward动作指令实现服务器端跳转。
08 <jsp:forward page="Forwarded.jsp"></jsp:forward>
09 </body>
10 </html>

01 <%@ page language="java" contentType="text/html;charset=gb2312"%>
02 <html>
03 <head>
04 <title>跳转到的页面</title>
05 </head>
06 <body>
07 跳转到的页面
08 </body>
09 </html>

  4.2 跳转执行流程
  如果JSP文件包含<jsp: forward >动作元素,那么JSP会首先执行<jsp: forward >动作元素之前的代码。只有执行到<jsp: forward >动作元素时才会进行跳转,跳转完成后将执行被跳转的JSP文件,<jsp: forward >动作元素之后的代码将不会被执行到。

5  <jsp:param>动作元素 
  <jsp:param>动作元素用来传递参数,一般与<jsp:include>、<jsp:forward>作用联合使用。其语法格式如下。

<jsp:param name=”参数名” value=”参数值”/>
<jsp:param>动作元素包含两个属性,一个是name,用来设定传递参数的名称;一个是value,用来设定传递参数的值。

  5.1 <jsp:include>动作元素搭配<jsp:param>动作元素
  01 <%@ page language="java" contentType="text/html;charset=gb2312"%>
02 <html>
03 <head>
04 <title>包含JSP文件并传递参数</title>
05 </head>
06 <body>
07 使用include动作元素包含一个包含JSP文件,并传递参数<br>
08 <jsp:include page="contentDemo.jsp">
09 <jsp:param name="age" value="19"/>
10 </jsp:include>
11 </body>
12 </html>

  01 <%@ page language="java" contentType="text/html;charset=gb2312"%>
02 <html>
03 <head>
04 <title>跳转并传递参数</title>
05 </head>
06 <body>
07 使用forward动作元素跳转到另一个JSP文件,并传递参数<br>
08 <jsp:forward page="ForwardedDemo.jsp">
09 <jsp:param name="age" value="19"/>
10 </jsp:forward>
11 </body>
12 </html>

6  <jsp:plugin>、<jsp:params>和<jsp:fallback>
  <jsp:plugin>、<jsp:params>和<jsp:fallback>三个动作元素,一般都是搭配起来使用。其中<jsp:plugin>动作元素用来在JSP中嵌入Java插件;<jsp:params>动作元素用来给Bean或者Applet传递参数;<jsp:fallback>动作元素用来指定当浏览器不支持或无法启动Bean或者Applet时,在页面上打印输出的错误提示信息。

  6.1  <jsp:plugin>动作元素
    <jsp:plugin>动作元素用来在JSP中嵌入Java插件,比如Applet。<jsp:plugin>动作元素会自动根据浏览器版本替换成<object>标签或者<embed>标签。其中<object>用于HTML 4.0版本,而<embed>标签用于HTML 3.2版本。

属性 属性作用
type 用来指定插件类型,可以是bean和applet
name 用来指定Applet或Bean名称
code 用来指令所执行的Java类名,必须以.class结尾
codebase 用来指令所执行的Java类所在的目录
align 用来指定Applet或Bean显示时的对齐方式
height 用来指定Applet或Bean显示时的高度
width 用来指定Applet或Bean显示时的宽度
hspace 用来指定Applet或Bean显示时距离屏幕左右的距离,单位是像素
vspace 用来指定Applet或Bean显示时距离屏幕上下的距离,单位是像素
archive 用来指定Applet或Bean执行前预先加载的类的列表
iepluginurl 用来指定IE用户能够使用的JRE下载地址
nspluginurl 用来指定Netscape Navigator用户能够使用的JRE下载地址

  6.2<jsp:params>动作元素
   <jsp:params>动作元素用来给Bean或者Applet传递参数,一般搭配<jsp:param>使用。其语法格式如下。
<jsp:plugin>
<jsp:params>
<jsp:param name=”参数名” value=”参数值”/>
</jsp:params>
</jsp:plugin>

  6.3  <jsp:fallback>动作元素
   <jsp:fallback>动作元素用来指定当浏览器不支持或无法启动Bean或者Applet时,在页面上打印输出的错误提示信息。其语法格式如下。
<jsp: fallback >
<jsp:fallback>错误信息</jsp:fallback>
</jsp: fallback >

你可能感兴趣的:(JSP 动作元素)