学通JAVAWEB——JSP开发(二、JSP动作元素)

1 JSP动作元素分类

JSP动作元素可以用来动态地包含文件、网页跳转及使用JavaBean组件等。

        <jsp:XXX />
        <jsp:XXX > </jsp:XXX>

JSP动作元素分为如下5类。

第一类是与存取JavaBean有关的,包括如下3个动作元素。

<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>

第二类是JSP 1.2就开始有的基本动作元素,包括如下6个动作元素。

<jsp:include> 、 <jsp:forward> 、 <jsp:param> 、 <jsp:plugin> 、 <jsp:params> 、 <jsp:fallback>

第三类是JSP 2.0新增的动作元素,主要与JSP document有关,包括如下6个动作元素。

<jsp:root>、<jsp:declaration>、<jsp:scriptlet>、<jsp:expression>、<jsp:text>、 <jsp:output>

第四类也是JSP 2.0新增的动作元素,主要用来动态地生成XML元素标签的值,包括如下3个动作元素。

<jsp:attribute>、<jsp:body>、<jsp:element>

第五类也是JSP 2.0新增的动作元素,主要用在Tag File中,包括如下2个动作元素。

<jsp:invoke>、<jsp:doBody>

2 <jsp:include>动作元素

<jsp:include>动作元素用来包含静态和动态的文件。如果被包含的文件为静态的文件,那么只是单纯地加到JSP页面中,不会进行任何处理;如果被包含的文件为动态的文件,那么会先进行处理,然后将处理的结果加到JSP页面中。

        <jsp:include page="包含文件URL地址"  flush="true | false">

<jsp:include>动作元素包含两个属性:page和flush。

其中page属性用来指定被包含文件的URL地址。flush属性用来指定缓冲区满时,是否进行清空。如果设置为true,那么缓冲区满时将进行清空;如果设置为false,那么缓冲区满时不会进行清空。flush属性的默认值为false。

2.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>

2.2 使用<jsp:include>动作元素包含动态的文件

<jsp:include>动作元素包含的文件为动态的文件时,会先进行处理,然后将处理的结果加到JSP页面中。

 2.3 <jsp:include>和<%@ include%>的区别

使用<%@ include%>指令元素只是将页面的内容静态地包含进来,如果被包含的文件中有JSP代码,则会执行该代码,而不管该文件是否为动态文件。

3 <jsp:forward>动作元素

<jsp:forward>动作元素用来转移用户的请求,使得用户请求的页面从一个页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户的地址栏不会发生任何变化。

        <jsp: forward page="跳转文件URL地址" >

<jsp:include>动作元素只包含一个属性即page,page属性用来指定跳转文件的URL地址。

3.1 使用<jsp: forward >动作元素实现页面跳转

使用<jsp: forward >动作元素实现页面跳转非常简单,只需要设置其page属性为跳转到文件的URL地址即可。

3.2 跳转执行流程

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

4 <jsp:param>动作元素

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

        <jsp:param name="参数名" value="参数值"/>

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

4.1 <jsp:include>动作元素搭配<jsp:param>动作元素

通过<jsp:include>动作元素搭配<jsp:param>动作元素,可以实现在包含文件的同时向被包含文件传递参数。

4.2 <jsp:forward>动作元素搭配<jsp:param>动作元素

通过<jsp:forward>动作元素搭配<jsp:param>动作元素,可以实现在跳转页面的同时向跳转到页面传递参数。

5 .<jsp:plugin>、<jsp:params>和<jsp:fallback>

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

5.1 <jsp:plugin>动作元素

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

        <jsp:plugin
            type="bean | applet"
            name="Applet名称"
            code="Java类名"
            codebase="Java类所在目录"
            align="对齐方式"
            height="高度"
            width="宽度">
            hspace="水平间距"
            vspace="垂直间距"
            archive="预先加载的类列表"
            jreversion="JRE版本"
            iepluginurl="URL"
            nspluginurl="URL"
        </jsp:plugin>

 

        01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>执行Applet</title>
        05  </head>
        06  <body>
        07       <%-- 指定其Java类为Clock.class,所在目录为Applet,类型为applet --%>
        08       <jsp:plugin   code="Clock.class"   codebase="Applet"   type="applet">
    </jsp:plugin>
        09  </body>
        10  </html>

 5.2 <jsp:params>动作元素

<jsp:params>动作元素用来给Bean或Applet传递参数,一般搭配<jsp:param>使用。

        <jsp:plugin>
            <jsp:params>
                <jsp:param name="参数名" value="参数值"/>
            </jsp:params>
        </jsp:plugin>

5.3 <jsp:fallback>动作元素

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

        <jsp: fallback >
            <jsp:fallback>错误信息</jsp:fallback>
        </jsp: fallback >
        01  <%@ page language="java" contentType="text/html;charset=gb2312"%>
        02  <html>
        03  <head>
        04       <title>执行Applet</title>
        05  </head>
        06  <body>
        07       <%-- 指定其Java类为Clock.class,所在目录为Applet,类型为applet --%>
        08       <jsp:plugin code="Clock.class" codebase="Applet" type="applet">
        09           <%-- 传递三个参数--%>
        10           <jsp:params>
        11               <jsp:param name="bgcolor" value="000000"/>
        12               <jsp:param name="fgcolor1" value="ff0000"/>
        13               <jsp:param name="fgcolor2" value="00ff00"/>
        14               </jsp:params>
        15           <%-- 无法加载时输出错误信息--%>
        16           <jsp:fallback>
        17               不能加载该Applet
        18           </jsp:fallback>
        19       </jsp:plugin>
        20  </body>
        21  </html>

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值