jsp_动作指令

  注:与指令元素不同,动作元素在请求处理阶段起作用

1. <jsp:param>

jsp:param 操作被用来以“名-值”对形式为其他标签提供附加信息。它与jsp:include、jsp:forward和jsp:plugin一起使用。

它的使用方式如下:

<jsp:param name="paramName" value="paramValue" />

其中name为属性相关联的关键字,value为属性的值


2.<jsp:include>

jsp:include操作允许在请求时间内在现成的JSP页面里面包含静态或者动态资源。被包含的对象只有对JSP write对象的

访问权,并且它不能设置头或者Cookie。如果页面输出是缓冲的,那么缓冲的刷新要优于包含的刷新。此指令运行效率

比<%@ page include %>指令的效率低,但可以动态增加内容

格式如下:

<jsp:include page="filename" value="paramValue">

       <jsp:param name="paramName" value="paramValue"/>

</jsp:include>

注:该标签允许你包含动态文件和静态文件,但是这两种包含文件的结果是不同的。如果文件仅仅是静态文件,那么这种包含

仅仅是把包含文件的内容加到JSP文件中去,这个被包含文件不会被JSP编译器执行。相反地,如果这个被包含文件是动态的文件,

那么这个被包含文件将会被JSP编译器执行


3. <jsp:forward>

   jsp:forward操作允许将请求转发到另一个JSP,Servlet或者静态资源文件。将请求被转到的资源必须位于同jsp发送请求相同的上下文环境之中。每当遇到此操作时,就停止执行当前页面的JSP,转而执行被转发的资源。

格式如下:

<jsp:forward page="/login.jsp">

           <jsp:param name="userID" value="hellking"/>

           <jsp:param name="password" value="xxxx"/>

</jsp:forward>


在了解下面几个动作指令之间,可以参照这篇博客对JavaBean做简单了解:

点击打开链接

4.<jsp:setProperty>

  此操作与useBean协作,用来设置Bean的简单属性和索引属性。<jsp:setProperty>标签使用Bean给定的setXXX()方法,

在Bean中设置一个或者多个属性值。利用<jsp:setProperty>设置属性值得多种方法。

   该指令的实现方式如下:

   <jsp:setProperty name="beanName" propertyDetails"/>

   其中,propertyDatails可以是下面几个中的一个:

   property="*" 

   property="propertyName" param="parameterName"  2

   property="propertyName"

   property="propertyName" value="propertyValue"

注:

(1)如果使用了property="*" 那么Bean的属性没有必要按HTML表单中的顺序进行

(2)property指定Bean的属性名,而且Bean属性和request参数的名字相同,否则使用另一种语法(即上面的2)

  指定param。

(3)不能在一个<jsp:setProperty>中同时使用param和value,因为二者都是设置Bean属性的值,只是方式不同而已


5.<jsp:getProperty>:

jsp:getProperty 操作是对jsp:setProperty操作的补充,它用来访问一个Bean的属性。它访问的属性值将它转换为

一个String类型,然后发送到输出流中。如果属性是一个对象,将调用toString()方法。

<jsp:setProperty name="beanName" property="propertyName"/>

例如:

  <jsp:useBean id="usersession" scope="session" class="com.user.UserSession">

        <jsp:getProperty name="usersession" property="name"/>

  <jsp:getProperty name="usersession" peoperty="password"/>


6.<jsp:useBean>

   该标签用来在JSP页面中创建一个Bean实例,并制定它的名字及作用范围。它们保证对象在标签指定的范围内可以

使用。定义的语法如下:

<jsp:useBean id="id" scope="page|request|session|application typeSpec/>

<jsp:useBean id="person" class="gac1.javabean.study.Person" scope="page"/>

其中typeSpec的四种表现形式如下:

 class="className"

 class="className" type="typeName"

 beanName="beanName" type="typeName"

 type="typeName"


scope="page|request|session|application"范围说明:

page: 能够在包含<jsp:useBean>标签的JSP文件及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向

客户端发回响应或转到另一个文件为止。超出这个范围Bean就失效。

request:在请求的范围内使用有效,可以使用request对象访问Bean,比如:request.getAttribute(name),其中name

是Bean实例化的名字

session:从创建Bean开始,就可以在session有效范围内使用Bean,这个Bean对于JSP来说是共享的;要注意的是在创建

Bean的JSP文件中的<%@page%>指令中必须指定session=True  否则会出现致命的错误  可以使用session对象访问Bean:

比如:session.getValue(name);其中name是Bean实例化的名字

application:同session一样,从创建Bean开始,就可以在任何使用相同application的JSP文件中使用Bean. application对象在应用服务器启动时就创建了,直到应用服务器关闭。这个Bean存在于application生存周期内,任何共享application的JSP文件都能使用同一Bean   可以使用applicaiton对象访问Bean,例如:application.getAttribute(name)   其中name是Bean实例化的名字


class=“classname”:

这是Bean的类路径和类名,这个class不能是抽象的,必须有一个公用的、没有参数的构造器


BeanName="beanname" type="typename":

使用instantiate方法从一个class钟实例化一个Bean,同时还可以指定Bean的类型


type="typename":

type可以是一个类本身,也可以是一个类的父类,或是一个类的接口。如果没有使用class和BeanName指定type,

Bean将不会被实例化


7.<jsp:plugin>

       jsp:plugin用来产生用户端浏览器的特别标签(Object或者Embed),可以使用它来插入Applet或者JavaBean;当JSP文件被编译并把结果发送到浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成<object>或者<embed>元素;

 注:<object>用于HTML4.0  <embed>用于HTML3.2 ; 一般来说,<jsp:plugin>元素会指定对象是Applet还是Bean,同样也会指定class的名字,另外还会指定将从哪里下载Java插件;


使用方法:

<jsp:plugin  type="bean|applet"  code="classFileName" codebasc="classFileDirectoryName"

name="instanceName"  archive="URIToArchive,..."  align="bottom|top|middle|left|right"

height="displayPixels" width="displayPixels" hspace="leftRightPixels" vspace="topButtomPixels"

jreversion="JREVersionNumber|1.1"  nspluginurl="URLTOPlugin" iepluginurl="URLToPlugin"

[<jsp:params>

    <jsp:param name="parameterName" value="{parameterValue|<%= expression%>}"/>]+</jsp:params>]

<jsp:fallback>text message for user<jsp:fallback>]

实例:

被插入JSP页面的Applet:

package com.jspdev.ch3;
import javax.swing.*;
import java.awt.*;

public class MyApplet extends JApplet {
     String img;
     public void paint(Graphics g){
        Image image=getImage(getCodeBase(),img);
        g.drawImage(image, 0, 0, 400, 400, this);
        g.setColor(Color.blue);
        g.setFont(new Font("宋体",2,24));
        g.drawString("使用JSP:PLUGIN在JSP中添加Applet", 40, 170);
        g.setFont(new Font("NewsRoman",2,10));
        g.setColor(Color.pink);
        g.drawString(new java.util.Date().toString(), 10, 190);
     }
     public void init()
     {
        img=getParameter("image");
     }

     }



在JSP中插入Applet:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jsp:plugin演示</title>
  </head>
 
  <body>
    <hr><br>
    <jsp:plugin code="com.jspdev.ch3.MyApplet" codebase="." type="applet" align="center" width="200" height="200">
    <jsp:params>
    <jsp:param value="pic.jpg" name="image"/>
    </jsp:params>
    <jsp:fallback>在插入Applet时产生错误</jsp:fallback>
    </jsp:plugin>
  </body>
</html>



 


猜你喜欢

转载自blog.csdn.net/qq_32059779/article/details/81053857