-->ColdFusion 初级教程-->嵌入Java程序片

ColdFusion

后页 前页
目录
北极星书库
嵌入Java程序片


CFAPPLET标签使你可以在CFFORM中嵌入Java程序片。要使用这个标签,首先要用ColdFusion Administrator对Java程序片进行注册。在Administrator中,你定义Java程序片的接口,对其进行封装,从而使CFAPPLET标签的使用非常简单。与HTML APPLET标签相比,CFAPPLET有如下几个优点:


· 返回值——由于CFAPPLET需要指定一个form字段名,因此你不必编写额外的JavaScript代码来获取程序片的返回值,你可以象对待其它form变量一样直接引用返回值:form.Variablerame。


· 使用简单——由于程序片的接口在Administrator中定义,应用程序文件中的每个CFQPPLET标签只需引用程序片的名字并指定一个form变量名即可。


· 参数选项——通过在CFAPPLET中指定参数值,你可以覆盖在Administrator 中设定的参数值。否则ColdFusion将使用你在Administrator 中设定的参数值。


当一个程序片被注册之后,指定程序片名和form变量名即可使用该程序片:


<CFAPPLET APPLETSOURCE="Calculator"


NAME="calc_value">


与此相反,若使用HTML APPLET标签,你必须在每次使用Java程序片时设定所有的参数


注册Java程序片


在ColdFusion文件中使用Java程序片之前,必须先对程序片进行注册。注册的步骤为:


1.从ColdFusion程序组中点击Administrator图标,输入管理员密码(如果需要的话),打开ColdFusion Administrator。


2.点击Applets按钮,打开Registered Applets网页。


3.为要注册的程序片输入一个名字,然后点击Register New Applet。


4.输入程序片所需的信息,选择你想要的高度、宽度、垂直和水平方向的空间,以及布局设置。


程序片注册所需的信息如下表所列:


程序片注册域

描述

Codebase

程序片的URL,即程序片所在的目录。程序片类文件必须存放在浏览器根目录下,如:

http://servername/classes

Code

包含程序片子类的文件名。此文件名与URL相对应。不需要指定后缀名.class。

Method

程序片中返回一个字符串的方法名。你在CFAPPLET标签的NAME属性中使用这个方法名,将该方法的返回值赋给一个FORM变量。如果此程序片没有方法,可另此域保持为空。

Height

该程序片在垂直方向的高度(象素个数)

Width

该程序片在水平方向的宽度(象素个数)

Vspace

该程序片上方和下方的空隙(象素个数)

Hspace

该程序片左右两边的空隙(象素个数)

Align

布局方式

Java Not Supported Message

不支持Java的浏览器将显示此信息。如果你想覆盖此信息,可以在CFAPPLET NOTSUPPORTED属性中指定另外的信息。

Parameter Name

程序片所需参数的名字。

Value

对每个参数指定一个缺省值。程序片的文档中会说明各个参数的合法值。


5.点击Creae,完成注册过程


用CFAPPLET嵌入一个程序片


对一个Java程序片进行注册之后,你就可以用CFAPPLET标签在ColdFusion文件中嵌入该程序片。CFAPPLET有两个必须的属性,APPLETSOURCE和NAME。由于程序片已经注册,每个参数都已指定了缺省值,因此你可以用非常简单的形式嵌入该程序片。


<CFAPPLET APPLETSOURCE=" appletname"


NAME="form_variable">


覆盖布局设置和位置设置


要覆盖Administrator 中定义的各个选项设置,你可以使用可选的CFAPPLET参数,指定其它的选项值。例如,下面的CFAPPLET指定了定制的位置设置和布局设置。


<CFAPPLET APPLETSOURCE="myapplet"


NAME="applet1_var"


HEIGHT=400


WIDTH=200


VSPACE=125


HSPACE=125


ALIGN="left">


覆盖参数值


你也可以为Java程序片提供新的参数值,以覆盖Administrator中定义的缺省值。要注意的是,要覆盖一个参数,你必须已经在Administrator中为程序片定义了该参数并提供了一个缺省值:


<CFAPPLET APPLETSOURCE="myapplet"


NAME="applet1_var"


Param1="registered parameter"


Param2="registered parameter">


处理来自程序片的form变量


CFAPPLET标签要求你必须为程序片指定一个form变量名。这个变量可以象其它form变量一样以form.variable_name的形式被引用,其值是Java程序片的返回值。


并非所有的Java程序片都有返回值,有些程序片,如图形动画,并不返回数据。对这种程序片,Administrator中的方法(method)域保持为空。而其它的程序片都有一个会返回数据的方法。注册每个程序片时,你只能使用一个方法。如果一个程序片具有多个方法,你可以用同一个名字为你想使用的每个方法再注册一次该程序片。


后页
前页
目录
北极星书库