JSP网页编程初解(二)

来源:互联网 发布:淘宝安全证书下载 编辑:程序博客网 时间:2024/06/06 20:15

5、JSP动作

       JSP动作的主要作用是根据其指定的动作进行相应的处理。利用JSP动作可以实现引入文件、请求一个新的页面、重用javaBean等功能。JSP动作主要有以下几种:

       ><jsp:param>

       ><jsp:forward>

       ><jsp:include>

       ><jsp:plugin>

       ><jsp:useBean>

       ><jsp:setProperty>

       ><jsp:getProperty>

       1)、param动作

       <jsp:param>动作是用来给HTML文件和JSP文件传递参数,它经常和<jsp:forward>、<jsp:include>及<jsp:plugin>配合在一起使用。<jsp:param>动作的语法如下:

              <jsp:param name=”fname”value=”fvalue”/>

       其中name属性表示传递参数的名称,value属性表示传递该参数的值。

       在HTML中设置元素的属性时不必加双引号“”,但是在JSP中设置元素的属性时必须加上双引号“”,否则执行时会出现错误。在后面的讲解中,将结合<jsp:forward>、<jsp:include>、<jsp:plugin>等动作讲解<jsp:param>动作的用法。

      2)、forward动作

       <jsp:forward>动作用来将请求信息转发到另一个页面,<jsp:forward>动作只有一个page属性。<jsp:forward>动作的语法如下:

              <jsp:forawrdpage=”url”/>

       其中page属性包含的url是一个相对URL。

       如果需要传递参数,<jsp:forward>动作的语法如下:

               <jsp:forwardpage="url">

                   <jsp:param name="fname"value="fvalue"/>

               </jsp:forward>

       其中fname是参数名称,fvalue是参数值。

       <jsp:forward>动作转发的页面可以使HTML文件、JSP文件或者是一个Servlet,但这些文件必须位于同一个环境中。下面是一段关于<jsp:forward>动作转发的代码:

*.jsp

<%@ pagelanguage="java" contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@includefile="test.html"%><html>    <head>        <title>forward  动作</title>    </head>    <body>        <h3>这是一个测试< jsp:forward>指令的页面</h3>        <jsp:forwardpage="test.html"></jsp:forward>    </body></html>

test.html:

<html>    <head>        <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>    </head>    <body>        <h3>这是一个html测试页面</h3>    </body></html>

       由于在jsp中使用了<jsp:forward page="test.html"></jsp:forward>,所以显示的内容是test.html的内容

       3)、include动作

       <jsp:include>动作是指在当前的页面内包含一个或多个JSP页面或HTML文件。其使用语法如下:

              <jsp:includepage=”file”flush=”true”/>

       其中page属性中的file为加载文件所在位置的相对路径。Flush属性必须设为true,如果是false则不能自动刷新输出。需要注意的是,此动作的单行语句必须在该语句的后面加上一条斜线/。若在加载文件或网页时需要传递参数,那么使用的语法如下:

             <jsp:includepage=”file”flush=”true”>

              <jsp:param name=”fname”value=”fvalue”>

              </jsp:include>

       下面是一段关于<jsp:include>动作的代码:

<%@pagecontentType="text/html" pageEncoding="UTF-8"%><f:view>    <html>        <head>            <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>            <title>include动作</title>        </head>        <body>        <center>            <h3>欢迎你</h3>            <h3>这是一个登陆页面</h3>            <h3>请登录</h3>            <formaction="jspLog.jsp" name="myform" method="post">                用户名:<input type="text" name="name"/>                密   码:<input type="text"name="password" />                                <inputtype="submit" value=" 确定" />            </form>        </center>        </body>    </html></f:view>

jspLog.jsp:

<%@pagecontentType="text/html" pageEncoding="UTF-8"%><%@includefile="jsp.jsp" %><f:view>    <html>        <head>            <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>            <title>JSP Page</title>        </head>        <body>            <h1><h:outputTextvalue="Hello World!"/></h1>        </body>    </html></f:view>

       4)、plugin动作

       <sjp:plugin>动作表示在一个JSP网页中加载Java Applet或JavaBean组件。Java Applet也叫小应用程序,是使用Java编写的代码,它可以嵌入到JSP程序中。JavaBean是一组用于构建可重用组件的Java类库,可以将一组JavaBean装配成应用程序或Java小程序。同样,它可以嵌入到JSP程序中。<sjp:plugin>动作的语法如下:

<jsp:plugin 

    type="嵌入程序的类型"

    code="潜入类名称"

    codebase="潜入类所在的目录名称"

    name="对象名称"

    align="对齐方式"

    height="高度"

    width="宽度"

    hspace="左右空间"

    vspace="上下空间"

    nspluginurl="下载Netscape JRE plugin的地址"

    archive="预下载的文件路径"

    jreversion="使用的JRE版本"

    iepluginurl="下载IE JRE plugin的地址"

    <jsp:params>

        <jsp:param name="fname"value="fvalue"></jsp:param>

        <jsp:param name="hname"value="hvalue"></jsp:param>

    </jsp:params>/>

    <jsp:fallback></jsp:fallback>>

</jsp:plugin>

       其中除了type和code属性,其它属性都可以省略。

       下载对这些属性进行简单的说明:

       >type:嵌入程序的类型,可以使Applet,也可以是Bean,但必须指定一个,因为这个属性设有默认值;

       >code:嵌入Java程序的类名称,必须以.class结尾。如example.class;

       >codebase:编译后Java类的目录,可以是绝对目录,也可以是相对目录。默认值为当前JSP网页的目录;

       >name:被嵌入的Applet或Bean的名称;

       >align:设置被嵌入的程序在页面中显示的对齐方式,align的值可以是bottom、top、middle、left、right;

       >height:被嵌入的程序在页面中显示的高度;

       >width:被嵌入的程序在页面中显示的宽度;

       >hspace:被嵌入的程序在页面中显示时距左右两边的空间;

       >vspace:被嵌入的程序在页面中显示时上下端的空间。

       下面是一段关于<jsp:plugin>动作的代码:

<%@pagecontentType="text/html" pageEncoding="UTF-8"%><f:view>    <html>        <head>            <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>            <title>< jsp:plugin >动作</title>        </head>        <body>        <center>            <h3>这是一个< jsp:plugin>动作演示页面</h3>            <jsp:plugintype="applet" code="javatest.java" ></jsp:plugin>        </center>        </body>    </html></f:view>

Javatest.java:

package html; import java.applet.Applet;import java.awt.Graphics;import java.awt.Image; public class javatest  extends Applet{    Image persion;    public void init() {        persion = getImage(getDocumentBase(),"app_logo.png");    }    public void paint(Graphics g) {        g.drawImage(persion, 100, 100, this);    }}

      5)、useBean动作

       <jsp:useBean>动作用来装载一个在JSP页面中使用的JavaBeans。JavaBeans是用Java语言编写的可重用的软件组件。因此对开发者而言,在开发过程中可以发回Java组件重用的优势。下面是一个关于<jsp:useBean>动作的程序。

Welcome.java

public class welcome {    public welcome() {    }    public String saywel(String name) {        String strmessage;        strmessage = "Hello" + name +"!";        return strmessage;    }}

Usebean.jsp

<%@pagecontentType="text/html" pageEncoding="UTF-8"%><jsp:useBeanid="saywelcome" scope="application"class="welcome"></jsp:useBean>    <html>        <head>            <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8"/>            <title>JSP Page</title>        </head>        <body>            <%request.setCharacterEncoding("gb2312"); %>            <%        String strmessage;        strmessage =saywelcome.saywel("Tom!");        out.println(strmessage);            %>        </body>    </html>

 

 

 

 

 

 

 

 

原创粉丝点击