ColdFusion MX 远程服务实例入门教程
这个教程分二个部分:1 创建CF组件2创建flash应用.在开始之前请新建一个站点.一 创建CF组件:这里我们创建一个组件 定义二个函数[chaxun1,chaxun2],函数使用exampleapps 数据库源,返回一个查询结果对象, flash电影文件调用组件方法和接收返回的查询结果.chaxun1函数需要三个参数,这些参数从flash电影中传递过来.(参数为xing ming cheng)
创建的步奏如下所示: 使用dwmx(Dreamweaver MX的简称,下同), 文件→新建: 新建文档对话框,常规卡,动态页,选择ColdFusion组件.[如图]
打开组件面板[窗口→组件] 点击+ 新建一个组件 如图所示:“名称”框指定 .cfc 文件名。输入名称时不要指定 .cfc 文件扩展名。“组件目录”框指定将要保存该组件的位置。为组件增加二个函数:访问方式设定为如果您从“访问”菜单中选择“远程”,则该函数可用作 Web 服务。请确保在“返回值类型”框中指定该函数返回的值的合适类型。增加参数为函数定义一个或多个参数,请从“部分”列表中选择“参数”,从弹出式菜单中选择该函数,单击加号 (+) 按钮,然后在右边输入新参数的详细信息。 [为该函数增加三个参数,类型均为字符串]
为函数增加主体: 窗口/绑定 单击+ 选择列表中的记录集(查询) 增加一个记录集 Recordset1输入下面的查询代码:
SELECT tblEmployees.EmployeeID, tblEmployees.DeptIDFK, tblEmployees.FirstName, tblEmployees.LastName, tblDepartments.DepartmentName
FROM tblEmployees, tblDepartments
WHERE tblEmployees.DeptIDFK = tblDepartments.DepartmentID
<cfif isDefined("ming")>
and tblEmployees.firstName like '#ming#%'
</cfif>
<cfif isDefined("xing")>
and tblEmployees.lastName like '#xing#%'
</cfif>
<cfif isDefined("cheng")>
and tblDepartments.DepartmentName like '#cheng#%'
</cfif>
ORDER BY tblEmployees.LastName, tblEmployees.FirstName
用同样的方法增加Recordset2
将文档切换到代码视图,剪切 Recordset1[<cfquery >...</cfquery >] 到 查询1的<!--- chaxun1 body --->后粘贴,用同样的方法Recordset2 到查询2. 然后设置<cfreturn > 查询1 设置为<cfreturn Recordset1>
查询2 设置为<cfreturn Recordset2>
文件/保存文件.关闭dwmx ,启动flashmx.
二 创建flash影片.
1 文件→新建 新建一个flash 影片 .新建一层,命名为script,层一命名为ui .
选择组件Flash MX UI 组件 托放几个组件到文档中,设置如图:
代码拷贝框
以下是引用片段: #include "NetServices.as" #include "NetDebug.as" #include "DataGlue.as" if (inited == null) { // 仅执行一次的代码 inited = true; // 设置默认网关url NetServices.setDefaultGatewayUrl("http://localhost:8500/flashservices/gateway"); // 连接到网关 gateway_conn = NetServices.createGatewayConnection(); // 返回一个服务的引用 myService = gateway_conn.getService("FLASHTEST.chaxun", this); } function 查询 () {trace(工程.getSelectedItem().label); trace(名字.text); trace(姓氏.text); myService.chaxun1(名字.text, 姓氏.text, 工程.getSelectedItem().label); } function chaxun1_Result(result){ DataGlue.bindFormatStrings(显示框, result, "#LastName#, #FirstName# ,#DepartmentName#", "#EmployeeIDFK#"); } function chaxun2_Result(result ){ DataGlue.bindFormatStrings(工程, result, "#DepartmentName#", "#DepartmentID"); } myService.chaxun2(); |
运行的结果如下所示: