在 Dreamweaver 中使用 ColdFusion 组件

优质
小牛编辑
135浏览
2023-12-01

注意:在 Dreamweaver CC 和更高版本中不再支持 ColdFusion。

关于 ColdFusion 组件

使用 ColdFusion 组件 (CFC) 文件,您可以将应用程序和商业逻辑封装到独立的、可重复使用的单元中。CFC 还提供了一种创建 Web 服务的快速而简单的方法。

CFC 是用 ColdFusion 标记语言 (CFML) 编写的可重复使用的软件单元,可方便您重复使用和维护代码。

可以将 Dreamweaver 和 CFC 一起使用。有关 CFC 标签和语法的信息,请参阅 Dreamweaver 中的 ColdFusion 文档(“帮助”>“使用 ColdFusion”)。

注意:CFC 只能用于 ColdFusion MX 或更高版本。ColdFusion 5 不支持 CFC。

CFC 旨在为开发人员提供一种简单而强大的方法来封装 Web 站点的元素。通常,您应该将组件用于应用程序或商业逻辑。对表示元素(如自定义的问候、动态菜单等)使用自定义标签。

与许多其它类型的构造相比,动态站点经常能从可互换的部分受益。例如,动态站点可以重复运行同一个查询,或者计算购物车页上的总价格,并在每次添加项目时重新计算总价格。这些任务可由组件来完成。您可以在对应用程序的其它部分影响最小的情况下修复、改进、扩展甚至替换某个组件。

假设一家网上商店根据订单价格计算运费。低于 $20 的订单运费为 $4;在 $20 至 $40 之间的订单运费为 $6,等等。您可以在购物车页和结帐页中同时插入计算运费的逻辑,但那样会将 HTML 表示代码和 CFML 逻辑代码混合在一起,并且通常会使代码难以维护和重复使用。

您决定创建一个称作 Pricing 的 CFC,该组件中有一个称作 ShippingCharge 的函数。该函数将价格作为参数并返回运费。例如,如果参数值为 32.80,则函数返回 6。

在购物车页和结帐页中都插入一个特殊标签来调用 ShippingCharge 函数。请求其中任何一种页面时,都调用该函数并将运费返回到该页面。

如果后来商店宣布了一种特殊的促销方法:$100 以上的所有订单免费送货。您只要在一个地方(即 Pricing 组件的 ShippingCharge 函数),更改送货费用,使用该函数的所有页面都将自动得到精确的运费。

组件面板概述 (ColdFusion)

使用“组件”面板(“窗口”>“组件”)可以查看和编辑 ColdFusion 组件,并可以在页面中添加当请求 CFM 页时用来调用函数的代码。

注意:只有在 Dreamweaver 中查看 ColdFusion 页时,“组件”面板才可用。

在 Dreamweaver 中创建或删除 CFC

您可以使用 Dreamweaver 以可视化方式定义 CFC 及其函数。Dreamweaver 将创建 .cfc 文件并为您插入必要的 CFML 标签。

注意:根据组件的不同,您可能需要手动完成某些代码。

  1. 在 Dreamweaver 中打开一个 ColdFusion 页。
  2. 在“组件”面板(“窗口”>“组件”)中,从弹出菜单中选择“CF 组件”。
  3. 单击加号 (+) 按钮,完成“创建组件”对话框,然后单击“确定”。

    a. 在“组件”部分输入组件的详细信息。下面列出了部分列表:

    名称  指定组件的文件名。该名称只能包含字母数字字符和下划线 (_)。输入名称时不要指定 .cfc 文件扩展名。

    组件目录  指定将要保存组件的位置。选择 Web 应用程序的根文件夹(如 \Inetpub\wwwroot\myapp\)或它的任何子文件夹。

    b. 若要为该组件定义一个或多个函数,请从“部分”列表中选择“函数”,单击加号 (+) 按钮,然后输入新函数的详细信息。

    确保在“返回值类型”选项中指定该函数返回的值的类型。

    注意:如果您从“访问”菜单中选择“远程”,则该函数可用作 Web 服务。

    c. 若要为函数定义一个或多个参数,请从“部分”列表中选择“参数”,从弹出菜单中选择该函数,单击加号 (+) 按钮,然后在右侧输入新参数的详细信息。

  4. 如果使用的是远程开发服务器,请将 CFC 文件和任何相关文件(如那些用于实现函数或包含文件的文件)上传到该远程服务器。

    上传文件可以确保 Dreamweaver 的功能(如“实时”视图和“在浏览器中预览”)正常工作。

    Dreamweaver 将编写一个 CFC 文件并将其保存在您指定的文件夹中。新组件还出现在“组件”面板中(单击“刷新”后)。

  5. 如果使用的是远程开发服务器,请将 CFC 文件和任何相关文件(如那些用于实现函数或包含文件的文件)上传到该远程服务器。

在 Dreamweaver 中查看 CFC

Dreamweaver 提供了一种方法,可用来以可视化方式对站点文件夹中或服务器上的 ColdFusion 组件 (CFC) 进行总体检查。Dreamweaver 将读取 CFC 文件并在“组件”面板中以一种易于导航的树状视图显示有关信息。

Dreamweaver 在测试服务器中查找组件(请参阅在 Dreamweaver 中连接到数据库)。如果创建 CFC 或对现有 CFC 进行更改,请确保将 CFC 文件上传到测试服务器,以便这些文件能在“组件”面板中准确地反映出来。

若要查看位于其它服务器的组件,请更改测试服务器的设置。

您可以查看有关 CF 组件的任何下列信息:

  • 列出服务器上定义的所有 ColdFusion 组件。
  • 如果运行的是 ColdFusion MX 7 或更高版本,则筛选该列表以便仅显示位于您的站点文件夹中的 CFC。
  • 了解每个组件的函数和参数。
  • 检查用作 Web 服务的函数的属性。

注意:若要使用 Dreamweaver 检查驻留在服务器根目录中的 CFC,同时还要管理不同网站根目录中的站点文件,可以定义两个 Dreamweaver 站点。将第一个站点设置为指向服务器根目录,将第二个站点设置为指向网站根目录。使用“文件”面板上的站点弹出菜单可在这两个站点之间快速切换。

若要在 Dreamweaver 中查看 CFC,请按照以下步骤操作:

  1. 在 Dreamweaver 中打开任意 ColdFusion 页。
  2. 在“组件”面板(“窗口”>“组件”)中,从弹出菜单中选择“CF 组件”。
  3. 单击面板中的“刷新”按钮以检索组件。

    将显示服务器上的组件包。组件包 就是包含 CFC 文件的文件夹。

    如果现有组件包未显示,则单击面板工具栏中的“刷新”按钮。

  4. 若要仅显示站点文件夹中的 CFC,请在“组件”面板工具栏中单击“仅显示当前站点的 CFC”按钮。

    注意:仅当将运行 ColdFusion MX 6 或更高版本的计算机定义为 Dreamweaver 的测试服务器时,才能使用此功能。

    注意:如果当前站点在远程服务器上的虚拟文件夹中列出,则筛选操作无效。

  5. 单击组件包名称旁边的加号 (+) 按钮以查看包中存储的组件。
    • 若要列出某个组件的函数,请单击该组件名称旁边的加号 (+) 按钮。
    • 若要查看函数采用的参数、参数类型以及它们是必需的还是可选的,请在树状视图中打开该函数的分支。

      没有参数的函数旁边没有加号 (+) 按钮。

    • 若要快速查看参数、函数、组件或包的详细信息,请在树状视图中选择相应项,然后单击面板工具栏中的“获取详细信息”按钮。

      还可以右键单击相应项 (Windows) 或在按住 Ctrl 单击相应项 (Macintosh),然后从弹出菜单中选择“获取详细信息”。

      将在消息框中显示有关该项的详细信息。

在 Dreamweaver 中编辑 CFC

Dreamweaver 提供了一种简化的方法来编辑为您的站点定义的 ColdFusion 组件的代码。例如,您不需要离开 Dreamweaver 即可添加、更改或删除任何组件函数。

若要使用此功能,您的开发环境必须按如下方式进行设置:

  • ColdFusion 必须在本地运行。
  • 在 Dreamweaver 的高级“站点定义”对话框中,“测试服务器”类别中指定的“访问类型”必须是“本地/网络”。
  • 在高级“站点定义”对话框中,您的本地根文件夹的路径必须与测试服务器文件夹的路径相同(例如 c:\Inetpub\wwwroot\cf_projects\myNewApp\)。您可以通过选择“站点”>“编辑站点”来检查和更改这两个路径。
  • 组件必须存储在硬盘上的本地站点文件夹或该文件夹的任何子文件夹中。

在 Dreamweaver 中打开任意 ColdFusion 页,并在“组件”面板中显示组件。若要显示组件,请打开“组件”面板(“窗口”>“组件”),从面板的弹出菜单中选择“CF 组件”,然后单击面板上的“刷新”按钮。

由于 ColdFusion 是在本地运行的,因此 Dreamweaver 将显示硬盘中的组件包。

通过以下步骤编辑组件。

  1. 在 Dreamweaver 中打开任意 ColdFusion 页,并在“组件”面板(“窗口”>“组件”)中显示组件。
  2. 从面板的弹出菜单中选择“CF 组件”,然后单击面板上的“刷新”按钮。

    由于 ColdFusion 是在本地运行的,因此 Dreamweaver 将显示硬盘中的组件包。

    注意:若要以可视化方式编辑 CFC 记录集,请在“绑定”面板中双击该记录集。

  3. 若要编辑某个组件文件,通常需要打开包并在树状视图中双击该组件的名称。

    将在“代码”视图中打开组件的文件。

  4. 若要编辑特定的函数、参数或属性,请在树状视图中双击相应项。
  5. 在“代码”视图中手动进行更改。
  6. 保存文件(“文件”>“保存”)。
  7. 若要查看“组件”面板中的任何新函数,请单击面板工具栏中的“刷新”按钮来刷新视图。

生成使用 CFC 的网页

在网页中使用组件函数的一种方法是在页面中写入该页面被请求时可以调用函数的代码。您可以使用 Dreamweaver 来帮助编写此代码。

注意:有关使用组件的其它方法,请参阅 Dreamweaver 中的 ColdFusion 文档(“帮助”>“使用 ColdFusion”)。

  1. 在 Dreamweaver 中,打开将使用组件函数的 ColdFusion 页。
  2. 切换到“代码”视图(“视图”>“代码”)。
  3. 打开“组件”面板(“窗口”>“组件”),然后从面板的弹出菜单中选择“CF 组件”。
  4. 找到需要的组件并使用下列方法之一将其插入:
    • 将一个函数从树状视图拖动到页面中。将在页面中插入代码以调用函数。
    • 在面板中选择该函数并单击面板工具栏中的“插入”按钮(右边的第二个按钮)。Dreamweaver 将在页面中的插入点处插入代码。
  5. 如果插入的是带参数的函数,请手动完成参数代码。

    有关详细信息,请参阅 Dreamweaver 中的 ColdFusion 文档(“帮助”>“使用 ColdFusion”)。

  6. 保存该页(“文件”>“保存”)。

在 CFC 中定义记录集

Dreamweaver 可以帮助您在 ColdFusion 组件 (CFC) 中定义记录集(也称为 ColdFusion 查询)。通过在 CFC 中定义记录集,则无需在使用该记录集的每个页面上都进行定义。在 CFC 中定义记录集一次,即可在不同页面上使用该 CFC。

注意:只有您对运行 ColdFusion MX 7 或更高版本的计算机具有访问权限时,才能使用此功能。有关详细信息,请参阅启用 ColdFusion 增强功能。

 

  1. 在 Dreamweaver 中创建 CFC 文件或打开现有的 CFC 文件。
  2. 在“绑定”面板(“窗口”>“绑定”)中,单击加号 (+) 按钮并从弹出菜单中选择“记录集(查询)”。

    出现“记录集”对话框。您既可使用简单“记录集”对话框,也可使用高级“记录集”对话框。

  3. 若要使用 CFC 中的某个现有函数,请从“函数”弹出菜单中选择该函数并跳到步骤 5。

    记录集是在函数中定义的。

  4. 若要在 CFC 中定义新的函数,请单击“新函数”按钮,在出现的对话框中输入函数的名称,然后单击“确定”。

    该名称只能包含字母数字字符和下划线 (_)。

  5. 若要定义函数的记录集,请完成“记录集”对话框选项。

    新函数将被插入到定义记录集的 CFC 中。

将 CFC 记录集用作动态内容源

如果某个 ColdFusion 组件 (CFC) 包含定义记录集的函数,则可以将该组件用作页面的动态内容源。

注意:只有您对运行 ColdFusion MX 7 或更高版本的计算机具有访问权限时,才能使用此功能。有关详细信息,请参阅“启用 ColdFusion 增强功能”。

  1. 在 Dreamweaver 中打开一个 ColdFusion 页。
  2. 在“绑定”面板(“窗口”>“绑定”)中,单击加号 (+) 按钮并从弹出菜单中选择“记录集(查询)”。

    出现“记录集”对话框。您既可使用简单“记录集”对话框,也可使用高级“记录集”对话框。

  3. 单击“CFC 查询”按钮。
  4. 完成“CFC 查询”对话框,单击“确定”,然后再次单击“确定”将 CFC 记录集添加到“绑定”面板中的可用内容源列表中。
  5. 使用“绑定”面板将记录集绑定到各种页面元素。

    有关详细信息,请参阅向页面添加动态内容。

使用 CFC 定义动态内容

通过使用包含记录集定义的 CFC 可以在 Dreamweaver 中将记录集定义为动态内容源。

1. 在“名称”框中,输入 CFC 记录集的名称。

通常的做法是在记录集名称前添加前缀 rs,以将其与代码中的其它对象名称区分开,例如 rsPressRelease。

记录集名称只能包含字母数字字符和下划线 (_)。不能使用特殊字符或空格。

2. 从服务器上已定义的包中选择一个包。

如果该包未出现在弹出菜单中,则可以通过单击弹出菜单附近的“刷新”按钮来刷新包的列表。

确保首先将 CFC 上传到测试服务器。只有测试服务器上的 CFC 才能被显示出来。

3. 从当前选择的包中所定义的组件中选择一个组件。

如果“组件”弹出菜单不包含任何组件,或者您以前创建的任何组件都没有出现在该菜单中,应将 CFC 文件上传到测试服务器。

4.(可选)若要创建组件,请单击“创建新组件”按钮。

a. 在“名称”框中,输入新 CFC 的名称。该名称只能包含字母数字字符和下划线 (_)。

b. 在“组件目录”框中,输入 CFC 的放置位置,或通过浏览找到相应的文件夹。

注意:文件夹必须为站点根文件夹的相对路径。

5. 从“函数”弹出菜单中,选择包含记录集定义的函数。

“函数”弹出菜单仅包含当前选定组件中定义的函数。如果没有任何函数出现在此弹出菜单中,或是如果您最近的更改未反映在当前列出的函数中,请检查是否已将最近的更改保存并上传到了服务器。

注意:“连接”和“SQL”框是只读的。

6. 通过单击“编辑”按钮来编辑每个必须作为函数参数传递的参数(类型、值和默认值)。

a. 为当前参数输入一个值,方法是从“值”弹出菜单中选择值类型并在右侧的框中输入值。值类型可以为 URL 参数、表单变量、Cookie、会话变量、应用程序变量或输入的值。

b. 在“默认值”框中输入该参数的默认值。如果未返回任何运行时值,则使用该默认参数值。

c. 单击“确定”。

您不能修改记录集的数据库连接和 SQL 查询。这些字段始终处于禁用状态 -- 连接和 SQL 查询仅为提供信息而显示。

7. 单击“测试”连接到数据库并创建一个记录集实例。

如果 SQL 语句包含页参数,则在单击“测试”前,请确保“参数”框的“默认值”列包含有效的测试值。

如果查询执行成功,则会有一个表显示该记录集。每行包含一条记录,而每列表示该记录中的一个域。

单击“确定”清除 CFC 查询。

8. 单击“确定”。