<jsp:plugin>用于在浏览器中播放或显示一个对象(通常为Applet 或Bean)。
当JSP 网页被编译后送往浏览器执行时,<jsp:plugin>将会根据浏览器的版本替换成<object>标签或者<embed>标签。
一般来说,<jsp:plugin>会指定对象Applet 或Bean,同样也会指定类的名字和位置,另外还会指定将从哪里下载这个Java 组件。
<jsp:plugin type="bean | applet" code="classfilename" 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>
type="bean | applet"
.将被执行的插件对象的类型,你必须得指定这个是bean还是applet,因为这个属性没有缺省值.
code="classfilename"
将会被java插件执行的java class的名字,必须以.class结尾。这个文件必须存在于codebase属性指定的目录中.
codebase="classfiledirectoryname"
将会被执行的java class文件的目录(或者是路径),如果你没有提供此属性,那么使用<jsp:plugin>的jsp文件的目录将会被使用.
name="instancename"
这个bean或applet实例的名字,它将会在jsp其它的地方调用.
archive="uritoarchive, ..."
一些由逗号分开的路径名,这些路径名用于预装一些将要使用的class,这会提高applet的性能.
align="bottom | top | middle | left | right"
图形,对象,applet的位置,有以下值:
bottom
top
middle
left
right
height="displaypixels" width="displaypixels"
applet或bean将要显示的长宽的值,此值为数字,单位为象素.
hspace="leftrightpixels" vspace="topbottompixels"
applet或bean显示时在屏幕左右,上下所需留下的空间,单位为象素.
jreversion="jreversionnumber | 1.1"
applet或bean运行所需的java runtime environment (jre) 的版本.
缺省值是 1.1.
nspluginurl="urltoplugin"
netscape navigator用户能够使用的jre的下载地址,此值为一个标准的url,如http://www.aspcn.com/jsp
iepluginurl="urltoplugin"
ie用户能够使用的jre的下载地址,此值为一个标准的url,如http://www.aspcn.com/jsp
<jsp:params> [ <jsp:param name="parametername"
value="{parametervalue | <%= expression %>}" /> ]+ </jsp:params>
你需要向applet或bean传送的参数或参数值。
<jsp:fallback> text message for user </jsp:fallback>
一段文字用于java
插件不能启动时显示给用户的,如果插件能够启动而applet或bean不能,那么浏览器会有一个出错信息弹出.
示例:
先将下面java程序通过编译后生成类的字节码文件(.class文件)
import java.applet.*; import java.awt.*; public class GraphApplet extends Applet { double f(double x){ return (Math.cos(x/5)+Math.sin(x/7)+2)*getSize().height/4; } public void paint(Graphics g){ for(int x=0;x<getSize().width;x++){ g.setColor(Color.RED); g.drawLine(x, (int)f(x), x+1, (int)f(x+1)); } } public String getAppletInfo(){ return "Draw a sin graph."; } }
再和下面的JSP文件(testApplet.jsp)一同复制到tomcat安装目录的webapps\testAppletdemo下:
<%@ page contentType="text/html;charset=GBK"%> <html> <body> 本页面包含对象Java Applet:GraphApplet <P/> <jsp:plugin code="GraphApplet" codebase="." type="applet" width="400" height="110"> <jsp:fallback> <p>浏览器不支持Applet的显示</p> </jsp:fallback> </jsp:plugin> </body> </html>
(此jsp页面使用<jsp:plugin>来包含Java Applet对象GraphicApplet)
在浏览器输入URL:
http://localhost:8080/testApplet/demo/testApplet.jsp便可以得到运行结果:
(参考互联网资料及《动态网页开发技术》)