ColdFusion

关注公众号 jb51net

关闭
首页 > 脚本专栏 > ColdFusion >

ColdFusion MX 远程服务实例入门教程

作者:

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();

运行的结果如下所示:

您可能感兴趣的文章:
阅读全文