動(dòng)作可以在頁面中插入 Java Applet 小程序或 JavaBean,它們能夠在客戶端運(yùn)行,但此時(shí),需要在 IE 瀏覽器中安裝 Java 插件。當(dāng) JSP 文件被編譯并送往瀏覽器時(shí), 動(dòng)作將會(huì)根據(jù)瀏覽器的版本,替換成
注意,
通常,元素會(huì)指定對(duì)象是 Applet 還是 Bean,同樣也會(huì)指定 class 的名字以及位置。另外,還會(huì)指定將從哪里下載 Java 插件。該動(dòng)作的語法格式如下:
<jsp:plugin
type="bean|applet" code="ClassFi1eName"
codebase="classFileDirectoryName"
[name="instanceName"]
[archive="URIToArchive,..."]
[align="bottom|top|middle|left|right"]
[height="displayPixels"]
[width="displayPixels"]
[hspace="leftRightPixels"]
[vspace="topBottomPixels"]
[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:plugin>
參數(shù)說明如下:
1.type 屬性的作用是定義插入對(duì)象的類型,對(duì)象類型有兩個(gè)值,分別是 bean 或者 applet。(必須定義的屬性)
2.code 屬性定義插入對(duì)象的類名,該類必須保存在 codebase 屬性指定的目錄內(nèi)。(必須定義的屬性)
3.codebase 屬性定義對(duì)象的保存目錄。(必須定義的屬性)
4.name 屬性定義 bean 或 Applet 的名字。
5.archive 屬性定義 Applet 運(yùn)行時(shí)需要的類包文件。
6.align 屬性定義 Applet 的顯示方式。
7.height 屬性定義 Applet 的高度。
8.width 屬性定義 Applet 的長(zhǎng)度。
9.hspace 屬性定義 Applet 的水平空間。
10.vspace 屬性定義 Applet 的垂直空間。
11.jreversion 屬性定義 Applet 運(yùn)行時(shí)所需要的 JRE 版本,缺省值是 1.1。
12.nspluginurl 屬性定義 Netscape Navigator 用戶在沒有定義 JRE 運(yùn)行環(huán)境時(shí)下載 JRE 的地址。
13.iepluginurl 屬性定義 IE 用戶在沒有定義 JRE 運(yùn)行環(huán)境時(shí)下載 JRE 的地址。
14.jsp:params 標(biāo)識(shí)的作用是定義 Applet 的傳入?yún)?shù)。
15.jsp:fallback 標(biāo)識(shí)的作用是當(dāng)對(duì)象不能正確顯示時(shí)傳給用戶的信息。
【例1】使用<jsp:plugin>動(dòng)作標(biāo)記在 JSP 中加載 Java Applet 小程序。
① 創(chuàng)建 2-23.jsp 頁面,使用<jsp:plugin>動(dòng)作標(biāo)記加載:
<%@ page contentType="text/html; charset=utf-8" %>
<html>
<body>
加載MyApplet.class文件的結(jié)果如下: <hr/>
<jsp:plugin type="applet" code="MyApplet.class" codebase="."
jreversion="1.2" width="400" heigh="80">
<jsp:fallback>
加載Java Applet小程序失敗!
</jsp:fallback>
</jsp:plugin>
</body>
</html>
② 其中插件所執(zhí)行的類 MyApplet.class 的源文件為 MyApplet.java,代碼如下:
import java.applet.*;
import java.awt.*;
public class MyApplet extends Applet
{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.drawString("您好!我就是 Applet 小程序!",5,10);
g.setColor(Color.green);
g.drawString("我是通過應(yīng)用<jsp:plugin>動(dòng)作標(biāo)記",5,30);
g.setColor(Color.blue);
g.drawString("將 Applet 小程序嵌入到 JSP 文件中",5,50);
}
}
將 2-23.jsp 及 MyApplet.java 文件經(jīng)過 Java 編譯器編譯成功后,生成的 MyApplet.class 字節(jié)文件都存放在 ch02 目錄下。
重新啟動(dòng) Tomcat 后,在 IE 瀏覽器的地址欄中輸入 http://localhost:8080/ch02/2-23.jsp,按 Enter 鍵后,若客戶機(jī)上沒有安裝 JYM(Java 虛擬機(jī)),將會(huì)訪問 Sun 公司的網(wǎng)站,并且彈出下載 Java plugin 的界面。
下載完畢后,將會(huì)出現(xiàn) Java plugin 插件的安裝界面,可以按照向?qū)崾荆鸩酵瓿砂惭b過程。然后,就可以使用 JVM 而不是 IE 瀏覽器自帶的 JVM 來加載執(zhí)行 MyApplet.class 字節(jié)碼文件了,最終得到的運(yùn)行結(jié)果如圖 1 所示。
圖1 使用<jsp:plugin>標(biāo)記在JSP中加載Java Applet小程序