为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > Dreamweaver_CS5_网页制作_免费官方教程

Dreamweaver_CS5_网页制作_免费官方教程

2017-06-05 50页 doc 3MB 8阅读

用户头像

is_954223

暂无简介

举报
Dreamweaver_CS5_网页制作_免费官方教程上次更新 2010/3/21 使用 DREAMWEAVER CS5   394 以可视方式生成 Sp 欢迎下载 创建 Spry 区域 Spry 框架使用两种类型的区域:一个是围绕数据对象 (如表格和重复列表)的 Spry 区域;另一个是 Spry 详细区域,该区域 与主表格对象一起使用时,可允许对 Dreamweaver 页面上的数据进行动态更新。 所有的 Spry 数据对象都必须括在 Spry 区域中。(如果在添加 Spry 区域之前尝试向页面中添加 Spry 数据对象, Dreamweaver 将提示您添加 Spry ...
Dreamweaver_CS5_网页制作_免费官方教程
上次更新 2010/3/21 使用 DREAMWEAVER CS5   394 以可视方式生成 Sp 欢迎下载 创建 Spry 区域 Spry 框架使用两种类型的区域:一个是围绕数据对象 (如表格和重复列表)的 Spry 区域;另一个是 Spry 详细区域,该区域 与主表格对象一起使用时,可允许对 Dreamweaver 页面上的数据进行动态更新。 所有的 Spry 数据对象都必须括在 Spry 区域中。(如果在添加 Spry 区域之前尝试向页面中添加 Spry 数据对象, Dreamweaver 将提示您添加 Spry 区域。)默认情况下,Spry 区域位于 HTML div 容器中。您可以在添加表格之前添加 Spry 区域;在插入表格或重复列表时自动添加 Spry 区域;或者在现有的表格或重复列表对象周围环绕 Spry 区域。 若要添加详细区域,通常先添加主表格对象,然后选择 “ 更新详细区域 ” 选项 (请参阅第 391 页的 “ 动态表格布局 ”)。详细 区域中唯一不同的特定值就是 “ 插入 Spry 区域 ” 对话框中的 “ 类型 ” 选项。 1   选择 “ 插入 ”>“Spry”>“Spry 区域 ”。 您也可以在 “ 插入 ” 面板的 “Spry” 类别中,单击 “Spry 区域 ” 按钮。 2   对于对象容器,选择 “
” 或 “” 选项。默认值是使用 
 容器。 3   选择下列选项之一: · 要创建 Spry 区域,请选择 “ 区域 ” (这是默认值)作为要插入的区域类型。 · 要创建 Spry 详细区域,请选择 “ 详细区域 ” 选项。只有当您希望绑定动态数据时,才应使用详细区域,当另一个 Spry 区域 中的数据发生变化时,动态数据将随之更新。 重要说明:您需要将详细区域插入与主表格区域所在的 
 不同的 
 中。您可能需要使用 “ 代码 ” 视图以精确地放置插 入点。 4   从该菜单中选择您的 Spry 数据集。 5   如果要创建或更改为某个对象定义的区域,请选择该对象并选项下列选项之一: 环绕选定内容  将新区域放在对象周围。 替换选定内容  替换对象的现有区域。 6   您单击 “ 确定 ” 时,Dreamweaver 会在页面中放置一个区域占位符,并显示文本 “ 此处为 Spry 区域的内容 ”。您可以将此占 位符文本替换为 Spry 数据对象 (如表格或重复列表),或者替换为 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中的动态数据。 “ 绑定 ” 面板显示数据集的可用数据。 注:“ 绑定 ” 面板中还列出了一些内置的 Spry 元素, ds_RowID、 ds_CurrentRowID 和 ds_RowCount。在确定如何更新 动态详细区域时, Spry 使用这些元素来定义用户在其中单击的行。 7   若要将占位符文本替换为 Spry 数据对象(例如 Spry 表格),请在 “ 插入 ” 面板中的 “Spry” 类别中,单击适当的 Spry 数据对 象按钮。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   395 以可视方式生成 Spry 页 8   要将占位符文本替换为动态数据,请使用下列方法之一: · 将一个或多个元素从 “ 绑定 ” 面板拖到选定文本的上方。 · 在 “ 代码 ” 视图中,直接键入一个或多个元素的代码。使用 {dataset-name::element-name} 格式,如 {ds1::category}  或 {dsProducts::desc} 中所示。如果在文件中仅使用一个数据集,或者使用的数据元素来自您为该区域定义的同一个数据集,则 可以忽略数据集的名称,而只需写成 {category} 或 {desc}。 无论您使用哪种方法来定义区域的内容,都需要向 HTML 代码中添加以下各行: {name}{category}
{ds1::name}{ds1::descheader}
创建 Spry 重复区域 您可以添加重复区域来显示数据。重复区域是一个简单数据结构,您可以根据需要设置它的格式以显示数据。例如,您可以使 用重复区域在页面布局对象 (如 AP div 元素)中逐张显示一组照片缩略图。 1   选择 “ 插入 ”>“Spry”>“Spry 重复项 ”。 您也可以在 “ 插入 ” 面板中的 “Spry” 类别中,单击 “Spry 重复项 ” 按钮。 2   对于对象容器,根据所需的标签类型选择 “
” 或 “” 选项。默认值是使用 
 容器。 3   选择 “ 重复 ” (默认选项)或 “ 重复子项 ” 选项。 如果您希望提高灵活性,则可能需要使用 “ 重复子项 ” 选项,这将对子级别列表中的每一行执行数据验证。例如,如果有 一个 
     列表,系统将在 
  •  级别检查数据。如果您选择 “ 重复 ” 选项,系统将在 
       级别检查数据。如果在代码中使 用条件表达式, “ 重复子项 ” 选项可能会非常有用。 4   从该菜单中选择您的 Spry 数据集。 5   如果已经选择了文本或元素,即可环绕或替换它们。 6   单击 “ 确定 ” 即可在页面上显示重复区域。 注:所有 Spry 数据对象都必须位于区域内,因此请确保在插入重复区域之前,已在页面上创建 Spry 区域。 7   当您单击 “ 确定 ” 时,Dreamweaver 会在页面中插入一个区域占位符,并显示文本 “ 此处为 Spry 区域的内容 ”。您可以将此 占位符文本替换为 Spry 数据对象 (如表格或重复列表),或者替换为 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中的动态数据。 “ 绑定 ” 面板显示数据集的可用数据。 注:“ 绑定 ” 面板中还列出了一些内置的 Spry 元素, ds_RowID、 ds_CurrentRowID 和 ds_RowCount。在确定如何更新 动态详细区域时, Spry 使用这些元素来定义用户在其中单击的行。 8   若要将占位符文本替换为 Spry 数据对象,请在 “ 插入 ” 面板中,单击适当的 Spry 数据对象按钮。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   396 以可视方式生成 Spry 页 9   要将占位符文本替换为一个或多个动态数据,请使用下列方法之一: · 将一个或多个元素从 “ 绑定 ” 面板拖到选定文本的上方。 · 在 “ 代码 ” 视图中,直接键入一个或多个元素的代码。使用 {dataset-name::element-name} 格式,如 {ds1::category}  或 {dsProducts::desc} 中所示。如果在文件中仅使用一个数据集,或者使用的数据元素来自您为该区域定义的同一个数据集,则 可以忽略数据集的名称,而只需写成 {category} 或 {desc}。 无论您使用哪种方法来定义区域的内容,都需要向 HTML 代码中添加以下各行代码: {name}{category}
{ds1::name}{ds1::descheader}
创建 Spry 重复列表区域 您可以添加重复列表,以便将数据显示为经过排序的列表、未经排序的 (项目符号)列表、定义列表或下拉列表。 1   选择 “ 插入 ”>“Spry”>“Spry 重复列表 ”。 您也可以在 “ 插入 ” 面板中的 “Spry” 类别中,单击 “Spry 重复列表 ” 按钮。 2   选择要使用的容器标签:UL、 OL、 DL 或 SELECT。其它选项因所选容器而异。如果您选择 “SELECT”,则必须定义下 列域: · 显示列:这是用户在其浏览器中查看页面时所看到的内容。 · 值列:这是发送到后台服务器的实际值。 例如,您可以创建一个州列表,向用户显示 “Alabama” 和 “Alaska”,但向服务器发送 “AL” 或 “AK”。还可以使用 SELECT 作为导航工具,并向用户显示产品名 (如 “Adobe Dreamweaver” 和 “Adobe Acrobat”),但向服务器发送 URL (如 “support/products/dreamweaver.html” 和 “support/products/acrobat.html”)。 3   从该菜单中选择您的 Spry 数据集。 4   选择要显示的列。 5   单击 “ 确定 ” 即可在页面上显示重复列表区域。在 “ 代码 ” 视图中,会看到 HTML 
       或 FORM select 标签 已插入到您的文件中。 注:如果您尝试插入重复列表区域,但是尚未创建区域, Dreamweaver 会提示您在插入重复列表区域之前添加一个区域。所 有的 Spry 数据对象都必须包含在区域中。 添加 Spry 效果 Spry 效果概述 “Spry 效果 ” 是视觉增强功能,可以将它们应用于使用 JavaScript 的 HTML 页面上几乎所有的元素。效果通常用于在一段时 间内高亮显示信息,创建动画过渡或者以可视方式修改页面元素。您可以将效果直接应用于 HTML 元素,而无需其它自定义 标签。 注:要向某个元素应用效果,该元素当前必须处于选定状态,或者它必须具有一个 ID。例如,如果要向当前未选定的 div 标签 应用高亮显示效果,该 div 必须具有一个有效的 ID 值。如果该元素尚且没有有效的 ID 值,您将需要向 HTML 代码中添加一 个 ID 值。 效果可以修改元素的不透明度、缩放比例、位置和样式属性 (如背景颜色)。可以组合两个或多个属性来创建有趣的视觉效 果。 由于这些效果都基于 Spry,因此在用户单击应用了效果的元素时,仅会动态更新该元素,不会刷新整个 HTML 页面。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   397 以可视方式生成 Spry 页 Spry 包括下列效果: 显示 / 渐隐   使元素显示或渐隐。 高亮颜色  更改元素的背景颜色。 遮帘   模拟百叶窗,向上或向下滚动百叶窗来隐藏或显示元素。 滑动  上下移动元素。 增大 / 收缩  使元素变大或变小。 晃动  模拟从左向右晃动元素。 挤压  使元素从页面的左上角消失。 重要说明:当您使用效果时,系统会在 “ 代码 ” 视图中将不同的代码行添加到您的文件中。其中的一行代码用来标识 SpryEffects.js 文件,该文件是包括这些效果所必需的。请不要从代码中删除该行,否则这些效果将不起作用。 有关 Spry 框架中可用的 Spry 效果的全面概述,请访问 www.adobe.com/go/learn_dw_spryeffects_cn。 应用显示 / 渐隐效果 注:此效果可用于除下列元素之外的所有 HTML 元素:applet、 body、 iframe、 object、 tr、 tbody 和 th。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从菜单中选择 “ 效果 ”>“ 显示 / 渐隐 ”。 3   从目标元素菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 4   在 “ 效果持续时间 ” 框中,定义此效果持续的时间,用毫秒表示。 5   选择要应用的效果:“ 渐隐 ” 或 “ 显示 ”。 6   在 “ 渐隐自 ” 框中,定义显示此效果所需的不透明度百分比。 7   在 “ 渐隐到 ” 框中,定义要渐隐到的不透明度百分比。 8   如果您希望该效果是可逆的(即连续单击即可从 “ 渐隐 ” 转换为 “ 显示 ” 或从 “ 显示 ” 转换为 “ 渐隐 ”),请选择 “ 切换效果 ”。 应用遮帘效果 注:此效果仅可用于下列 HTML 元素:address、dd、div、dl、dt、form、h1、h2、h3、h4、h5、h6、p、ol、ul、li、applet、 center、 dir、 menu 和 pre。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从菜单中选择 “ 效果 ”>“ 遮帘 ”。 3   从目标元素菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 4   在 “ 效果持续时间 ” 框中,定义此效果持续的时间,用毫秒表示。 5   选择要应用的效果:“ 向上遮帘 ” 或 “ 向下遮帘 ”。 6   在 “ 向上遮帘自 / 向下遮帘自 ” 框中,以百分比或像素值形式定义遮帘的起始滚动点。这些值是从元素的顶部开始计算的。 7   在 “ 向上遮帘到 / 向下遮帘到 ” 域中,以百分比或像素值形式定义遮帘的结束滚动点。这些值是从元素的顶部开始计算的。 8   如果您希望该效果是可逆的 (即连续单击即可上下滚动),请选择 “ 切换效果 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   398 以可视方式生成 Spry 页 应用增大 / 收缩效果 注:此效果可用于下列 HTML 元素:address、 dd、 div、 dl、 dt、 form、 p、 ol、 ul、 applet、 center、 dir、 menu 和 pre。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从弹出菜单中选择 “ 效果 ”>“ 增大 / 收缩 ”。 3   从目标元素弹出菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 4   在 “ 效果持续时间 ” 域中,定义出现此效果所需的时间,用毫秒表示。 5   选择要应用的效果:“ 增大 ” 或 “ 收缩 ”。 6   在 “ 增大自 / 收缩自 ” 框中,定义元素在效果开始时的大小。该值为百分比大小或像素值。 7   在 “ 增大到 / 收缩到 ” 框中,定义元素在效果结束时的大小。该值为百分比大小或像素值。 8   如果您为“增大自/收缩自”或“增大到/收缩到”框选择像素值,“宽/高”域就会可见。元素将根据您选择的选项相应地增大或 收缩。 9   选择您希望元素增大或收缩到页面的左上角还是页面的中心。 10 如果您希望该效果是可逆的 (即,连续单击即可增大或收缩),请选择 “ 切换效果 ”。 应用高亮效果 注:此效果可用于除下列元素之外的所有 HTML 元素:applet、 body、 frame、 frameset 和 noframes。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从菜单中选择 “ 效果 ”>“ 高亮显示 ”。 3   从目标元素菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 4   在 “ 效果持续时间 ” 框中,定义您希望此效果持续的时间,用毫秒表示。 5   选择您希望以哪种颜色开始高亮显示。 6   选择您希望以哪种颜色结束高亮显示。此效果将持续的时间为您在 “ 效果持续时间 ” 中定义的时间。 7   选择元素在完成高亮显示之后的颜色。 8   如果您希望该效果是可逆的,即通过连续单击来循环使用高亮颜色,请选择 “ 切换效果 ”。 应用晃动效果 注:此效果适用于下列 HTML 元素:address、blockquote、dd、div、dl、dt、fieldset、form、h1、h2、h3、h4、h5、h6、 iframe、 img、 object、 p、 ol、 ul、 li、 applet、 dir、 hr、 menu、 pre 和 table。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从菜单中选择 “ 效果 ”>“ 晃动 ”。 3   从目标元素菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 应用滑动效果 要使滑动效果正常工作,必须将目标元素封装在具有唯一 ID 的容器标签中。用于封装目标元素的容器标签必须是 blockquote、 dd、 form、 div 或 center 标签。 目标元素标签必须是以下标签之一:blockquote、 dd、 div、 form、 center、 table、 span、 input、 textarea、 select 或 image。 1  (可选)选择要应用效果的内容的容器标签。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   399 以可视方式生成 Spry 页 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,并从菜单中选择 “ 效果 ”>“ 滑动 ”。 3   从目标元素菜单中选择容器标签的 ID。如果已选择容器,请选择 < 当前选定内容 >。 4   在 “ 效果持续时间 ” 域中,定义出现此效果所需的时间,用毫秒表示。 5   选择要应用的效果:“ 上滑 ” 或 “ 下滑 ”。 6   在 “ 上滑自 ” 框中,以百分比或像素值形式定义起始滑动点。 7   在 “ 上滑到 ” 框中,以百分比或正像素值形式定义滑动结束点。 8   如果您希望该效果是可逆的,即通过连续单击上下滑动,请选择 “ 切换效果 ”。 应用挤压效果 注:此效果仅可用于下列 HTML 元素:address、dd、div、dl、dt、form、img、p、ol、ul、applet、center、dir、menu 和 pre。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从菜单中选择 “ 效果 ”>“ 挤压 ”。 3   从目标元素菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 添加其它效果 同一个元素可以关联多个效果行为,得到的结果将非常有趣。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,从 “ 效果 ” 菜单中选择效果。 3   从目标元素菜单中,选择元素的 ID。如果已选择元素,请选择 “< 当前选定内容 >”。 删除效果 您可以从元素中删除一个或多个效果行为。 1  (可选)选择要为其应用效果的内容或布局元素。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击要从行为列表中删除的效果。 3   请执行下列操作之一: · 在子面板的标栏中单击 “ 删除事件 ” 按钮 (-)。 · 右键单击 (Windows) 或按住 Control 并单击 (Macintosh) 要删除的行为,然后选择 “ 删除行为 ”。 草稿 上次更新 2010/3/21 第 16 章 : 使用 Adobe 在线服务 管理 Adobe 在线服务的连接 Adobe® Creative Suite® 5 包含在线服务,能够为您提供强大的桌面 Web 功能。可以使用这些服务联系社区、进行协作以及充 分利用 Adobe 工具。这些服务与 Creative Suite 5 集成在一起,以使您能够快速增强现有工作流程。某些服务在脱机状态下也 可以提供完整功能或部分功能。 Adobe® Acrobat.com  创建在线文档和演示文稿,在安全的审阅环境中共享文档以及远程存储文件。您不必担心平台兼容 性、穿越防火墙或安装软件等问题。 Adobe® BrowserLab  生成在不同浏览器和操作系统中显示的网页的屏幕抓图,并将其并排进行比较。 Adobe® Business Catalyst  使用此承载应用程序,可构建任何内容,包括数据驱动的基本 Web 站点,以及功能强大的在线 商店。 Adobe® ConnectNow  通过 Web 与分散的工作团队协作,共享语音、数据和多媒体。 Adobe® CS Review  发布设计文件 (包括 Photoshop 小样文件),并使其他人通过一些注释工具快速审阅文件并添加注释。 CS Live 服务包括以下四个在线服务:ConnectNow、 BrowserLab、 CS Review 和 Acrobat.com。 有关管理服务的信息,请访问 Adobe 网站,网址是 www.adobe.com/go/learn_creativeservices_cn。 某些 Creative Suite 5 应用程序包含单独的服务。 访问 CS Live 1   在 Adobe InDesign、Photoshop、Illustrator、Flash、Fireworks 或 Dreamweaver 中,选择 “ 窗口 ”>“ 扩展功能 ”>“ 访 问 CS Live”。 2   如有必要,请单击面板中的 “ 登录 ” 链接,输入 Adobe ID 和密码,然后单击 “ 登录 ” 按钮。 注:如果您在安装过程中提供了 Adobe ID 和密码,则可以自动登录到所使用的应用程序。 3  (可选)要在重新启动应用程序时保持登录状态,请选择 “ 保持登录状态 ”。 BrowserLab Adobe BrowserLab 允许您从 Dreamweaver 中预览本地 Web 内容,不需要先将该内容发布到可公开访问的服务器。可从本 地 Dreamweaver 站点,也可从远程服务器或测试服务器,来预览文件。 Dreamweaver 工程团队以视频方式概述了 BrowserLab 的用法,请访问 www.adobe.com/go/dwcs5browserlab_cn。 设置文件位置首选参数 BrowserLab 允许您预览本地版本的文件 (即未上传到 Web 服务器的文件)或其它服务器上的文件 (例如,远程模拟调试服 务器或远程测试服务器)。 预览本地文件时, BrowserLab 实际上将文件上传到 BrowserLab 服务器,在不同浏览器中创建页面的屏幕快照,然后在 BrowserLab 应用程序窗口中显示屏幕快照。从服务器预览文件时, BrowserLab 执行与对其它实时文件执行的相同操作:在 不同浏览器中创建服务器文件的屏幕快照,然后在 BrowserLab 应用程序窗口中显示屏幕快照。 1   选择 “ 窗口 ”>“ 扩展 ”>“Adobe BrowserLab”。 400 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   401 使用 Adobe 在线服务 2   在 BrowserLab 的 Web 服务面板中,从弹出菜单中选择一个位置。 注:所选择的文件位置在您再次对其进行更改之前会保持不变。 本地  指示 BrowserLab 从本地站点预览文件。从 “ 设计 ” 或 “ 代码 ” 视图预览文件时, BrowserLab 使用本地文件作为其 屏幕快照的源。从 “ 实时 ” 视图预览文件时, BrowserLab 使用 WebKit (“ 实时 ” 视图的呈现引擎)呈现的页面作为其屏 幕快照的源。 服务器  指示 BrowserLab 从活动服务器预览文件。 使用服务器配置 (即并非本地 Dreamweaver 站点中的文件)预览文件时, BrowserLab 使用的服务器是 Dreamweaver 中处于活动状态的服务器。活动服务器是上次在展开或折叠的 “ 文件 ” 面板中从 “ 服务器 ” 视图菜单选择的服务器。例如, 如果一直是将文件从本地站点上传到所定义的测试服务器,则 BrowserLab 将在该测试服务器上创建所指定文件的屏幕快 照。 Dreamweaver 会记住并保持该设置,直至您手动更改活动服务器为止。若要查看哪个服务器是活动服务器,请单击 “ 文件 ” 面板中的 “ 展开 ” 按钮。所选择的服务器 (测试服务器或远程服务器)是活动服务器。 重要说明:如果活动服务器是远程服务器 (例如,远程模拟调试服务器)或测试服务器,则必须填写服务器的 “ 基本 ” 编辑 视图中的 “Web URL” 文本框。Web URL 应对应于所指定的远程或测试服务器位置(FTP 站点的 FTP 地址、本地 / 网络 站点的远程文件夹,等等)。 预览页面 1   在 Dreamweaver 中,打开要预览的页面。 2   选择 “ 文件 ”>“ 在浏览器中预览 ”>“Adobe BrowserLab”。 3   当打开 BrowserLab 登录屏幕时,输入 Adobe ID (电子邮件地址)和密码,然后单击 “ 登录 ”。 编辑和刷新页面 您可以在 Dreamweaver 中编辑本地页面,然后在 BrowserLab 中刷新页面,无需在 Dreamweaver 中保存文件或者将文件上 传到服务器。如果要对 CSS 进行很多编辑工作,并且想要在进行编辑时无需保存更改即可预览每项更改,则此选项特别有用。 注:如果您在 BrowserLab 中使用远程配置进行预览,则在预览之前, BrowserLab 会自动保存文件并将文件上传到活动服务 器。 1   在 Dreamweaver 中,打开要预览的页面。 2   选择 “ 文件 ”>“ 在浏览器中预览 ”>“Adobe BrowserLab”。 3   对页面或附加到页面的 CSS 进行更改。 4   单击 BrowserLab 应用程序窗口中的 “ 刷新 ” 按钮。 无需先保存本地更改, BrowserLab 即可预览页面。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   402 使用 Adobe 在线服务 更多帮助主题 第 238 页的 “ 在 Dreamweaver 中预览页面 ” 第 38 页的 “ 设置测试服务器 ” 第 39 页的 “ 关于测试服务器的 Web URL” Business Catalyst InContext Editing 关于 Business Catalyst InContext Editing Adobe Business Catalyst InContext Editing 是一种在线托管服务,用户通过它可以在 Web 浏览器中对内容进行简单的更 改。若要更改某个网页,用户只需浏览到该页面,登录到 InContext Editing 服务,然后编辑该页面。编辑选项简单而精致, 使用这些选项无需预先了解关于 HTML 代码或 Web 编辑的知识。 允许用户在 Web 上实时更改您的 HTML 页面之前,您需要使用 Dreamweaver 让这些 HTML 页面成为可编辑页面。只需指 定希望允许用户编辑的页面区域,即可实现此目的。例如,您可能拥有包含文章标题和广告词的新闻页面。您可以选择这些内 容,然后将其转换为 InContext Editing 可编辑区域,这样用户在登录 InContext Editing 服务后,可以直接在浏览器中编辑 这些标题和广告词。 此文档介绍如何在 Dreamweaver 中使用 InContext Editing 可编辑区域;但 Adobe 还提供了大量其它资源,帮助您使用 InContext Editing: · 有关 Adobe InContext Editing 的视频概览,请访问 www.adobe.com/go/lrvid4045_dw_cn。 · 有关 InContext Editing 入门的更多资源 (含教程),请访问 www.adobe.com/go/incontextediting_getstarted_cn。 · 有关使用 InContext Editing 在浏览器中编辑页面的文档,请访问 www.adobe.com/go/learn_dw_incontextediting_browser_cn HYPERLINK "http://www.adobe.com/go/learn_dw_incontextediting_administration_guide_cn" 。 · 有关使用 InContext Editing 管理面板的文档,请访问 www.adobe.com/go/learn_dw_incontextediting_administration_guide_cn。 注:在某些情况下, Adobe Business Catalyst InContext Editing 会出现异常。有关特定网络、浏览器、页面和编辑限制的 列表,请访问 www.adobe.com/go/incontextediting_limitations_cn。 注: Adobe AIR 不支持 Adobe Business Catalyst InContext Editing。如果使用 AIR Extension for Dreamweaver 导出 包含 InContext Editing 区域的应用程序, InContext Editing 功能将失效。 创建 InContext Editing 可编辑区域 InContext Editing 可编辑区域由开始标签中包含 ice:editable 属性的一对 HTML 标签构成。可编辑区域定义了用户可以直接 在浏览器中编辑的页面区域。 注:如果向基于 Dreamweaver 模板的页面添加 InContext Editing 可编辑区域,新的 InContext Editing 可编辑区域必须位 于已可编辑的区域内。 1   执行以下操作之一: · 选择要转换为可编辑区域的 div、 th 或 td 标签。 · 将插入点置于要插入新的可编辑区域的页面位置。 · 在 Dreamweaver 模板 (DWT 文件)中选择且仅选择一个可编辑区域。 · 选择希望可供编辑的其它页面内容 (例如文本块)。 2   选择 “ 插入 ”>“InContext Editing”>“ 创建可编辑区域 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   403 使用 Adobe 在线服务 3   选项因所选内容而异。 · 如果选择了 div、 th 或 td 标签, Dreamweaver 会将其转换为可编辑区域,无需任何其它步骤。 · 如果要插入新的空白可编辑区域,请执行以下操作之一: · 选择 “ 在当前插入点处插入新的可编辑区域 ”,单击 “ 确定 ”。Dreamweaver 会在您的代码中插入 div 标签,其开始标 签中具有 ice:editable 属性。 · 如果希望 Dreamweaver 将选区的父标签作为可编辑区域的容器元素,请选择 “ 将父标签转换为可编辑区域 ”。只有 以下这些 HTML 标签可供转换:div、 th 和 td。 注:此第二选项仅适用于父节点满足严格转换的情况。例如,它必须是列出的可转换标签之一,且必须没有 第 406 页的 “InContext Editing 错误消息 ” 中列出的任何错误。 · 如果选择了 Dreamweaver 模板可编辑区域,请在 “ 创建可编辑区域 ” 对话框中单击 “ 确定 ”。Dreamweaver 使用 div 标 签来封装模板可编辑区域,该标签将用作新 InContext Editing 可编辑区域的容器。 · 如果选择了希望可供编辑的其它内容,请执行以下操作之一: · 如果希望封装通过 div 标签选择的任何内容,并将其转换为可编辑区域,请选择 “ 将当前选择的内容封装在 DIV 标签 内,然后对其进行转换 ”。 Dreamweaver 用来封装内容的 div 标签将用作可编辑区域的容器。 注:向页面添加 div 标签可能会改变页面外观和 CSS 规则的效果。例如,如果您的 CSS 规则在 div 标签周围应用红 色边框,则当 Dreamweaver 使用 div 标签封装当前选区,然后转换该选区时,您会在选区周围看到红色边框。若要 避免此类冲突,可以改写影响当前选区的 CSS 规则,也可以撤消转换 (“ 编辑 ”>“ 撤消 ”),然后选择并转换 Dreamweaver 无需使用 div 标签来封装的受支持的标签。 · 如果希望 Dreamweaver 将选区的父标签作为可编辑区域的容器元素,请选择 “ 将父标签转换为可编辑区域 ”。只有 以下这些 HTML 标签可供转换:div、 th 和 td。 4   在 “ 设计视图 ” 中,如果尚未选择可编辑区域,请单击它的蓝色选项卡,将其选中。 注:如果正在使用 Dreamweaver 模板,请确保选择的是 InContext Editing 可编辑区域 (容器区域),而非 Dreamweaver 模板可编辑区域。 5   在 “ 可编辑区域属性检查器 ” 中,根据需要选择或取消选择选项。用户在浏览器中编辑可编辑区域的内容时,这里选中的选项 将可供他们使用。例如,如果选择了 “ 粗体 ” 选项,用户将能够加粗文本;如果选择了 “ 编号列表 ” 和 “ 项目列表 ” 选项, 用户将能够创建编号列表和项目列表;如果选择了 “ 链接 ” 选项,用户将能够创建链接;诸如此类。如果将鼠标悬停在各个 选项图标上,可以看到对该选项所启用内容的工具提示。 6   保存页面。 如果这是您首次向页面添加 InContext Editing 功能, Dreamweaver 会您,它正在向您的站点添加 InContext Editing 支持文件:ice.conf.js、 ice.js 和 ide.html。上传页面时,将务必将这些文件也上传到服务器,否则无法在浏览器 中使用 InContext Editing 功能。 创建 InContext Editing 重复区域 InContext Editing 重复区域由开始标签中包含 ice:repeating 属性的一对 HTML 标签构成。重复区域定义了用户在浏览器中进 行编辑时,可以 “ 重复 ” 和向其中添加内容的页面区域。例如,如果您有一个标题,后接一段文本,则可以将这些元素转换为 用户可在页面上复制的重复区域。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   404 使用 Adobe 在线服务 可编辑 InContext Editing 浏览器窗口中看到的重复区域。下方区域已选中,可供再次复制、删除或上下移动。 除了在原始区域的基础上添加重复区域,还可以提供相关选项,让用户能够删除区域、添加全新区域 (不基于原始区域的内 容)以及上下移动区域。 创建重复区域时, Dreamweaver 将其封装在称为 “ 重复区域组 ” 的另一个容器中。此容器由一对 div 标签构成,其开始标签 添加有 ice:repeatinggroup 属性。它是用户可添加到组中的所有可编辑重复区域的容器。无法将重复区域移出其重复区域组容 器。此外,不应手动向页面添加重复区域组标签。 Dreamweaver 会在需要处自动为您添加这些标签。 注:根据表格行(tr 标签)创建重复区域时,Dreamweaver 将对父标签(例如,table 标签)应用重复区域组属性,而不插入 div 标签。 如果正在使用的页面已包含重复区域组,那么尝试紧跟在现有组之后添加重复区域时, Dreamweaver 会检测到在您尝试添加 的区域之前存在重复区域组,并提供将新区域添加到现有组的选项。您可以选择是将新的重复区域添加到现有组,还是创建全 新的重复区域组。 注:如果向基于 Dreamweaver 模板的页面添加 InContext Editing 重复区域,新的 InContext Editing 重复区域必须位于已 可编辑的区域内。 若要在 Dreamweaver 中创建重复区域,请执行以下步骤。 1   执行以下操作之一: · 选择要转换为重复区域的标签。可选标签很多,列表如下:a、abbr、acronym、address、b、big、blockquote、center、 cite、code、dd、dfn、dir、div、dl、dt、em、font、h1、h2、h3、h4、h5、h6、hr、i、img、ins、kbd、label、li、 menu、 ol、 p、 pre、 q、 s、 samp、 small、 span、 strike、 strong、 sub、 sup、 table、 tbody、 tr、 tt、 u、 ul 和 var。 注:只有 div 标签可以同时包含可编辑区域属性和重复区域属性。 · 将插入点置于要插入新的重复区域的页面位置。 · 在 Dreamweaver 模板 (DWT 文件)中选择且仅选择一个重复区域。 · 选择希望可供重复的其它页面内容 (例如标题和文本块)。 2   选择 “ 插入 ”>“InContext Editing”>“ 创建重复区域 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   405 使用 Adobe 在线服务 3   选项因所选内容而异。 · 如果选择了可转换标签, Dreamweaver 会将其转换为重复区域,无需任何其它步骤。 · 如果要插入新的空白重复区域,请执行以下操作之一: · 选择 “ 在当前插入点处插入新的重复区域 ”,单击 “ 确定 ”。 · 如果希望 Dreamweaver 将选区的父标签作为重复区域的容器元素,请选择 “ 将父标签转换为重复区域 ”。只有以下 这些 HTML 标签可以转换:a、abbr、acronym、address、b、big、blockquote、center、cite、code、dd、dfn、dir、 div、dl、dt、em、font、h1、h2、h3、h4、h5、h6、hr、i、img、ins、kbd、label、li、menu、ol、p、pre、q、s、 samp、 small、 span、 strike、 strong、 sub、 sup、 table、 tbody、 tr、 tt、 u、 ul 和 var。 注:此第二选项仅适用于父节点满足严格转换标准的情况。例如,它必须是列出的可转换标签之一,且必须没有 第 406 页的 “InContext Editing 错误消息 ” 中列出的任何错误。 · 如果选择了 Dreamweaver 模板重复区域,请在 “ 创建重复区域 ” 对话框中单击 “ 确定 ”。Dreamweaver 使用 div 标签来 封装模板重复区域,该标签将用作新 InContext Editing 重复区域的容器。 · 如果选择了希望可供重复的其它内容,请执行下列操作之一: · 如果希望封装通过 div 标签选择的任何内容,并将其转换为复制区域,请选择 “ 将当前选择的内容封装在 DIV 标签 内,然后对其进行转换 ”。 Dreamweaver 用来封装内容的 div 标签将用作复制区域的容器。 · 如果希望 Dreamweaver 将选区的父标签作为重复区域的容器元素,请选择 “ 将父标签转换为重复区域 ”。只有以下 这些 HTML 标签可以转换:a、abbr、acronym、address、b、big、blockquote、center、cite、code、dd、dfn、dir、 div、dl、dt、em、font、h1、h2、h3、h4、h5、h6、hr、i、img、ins、kbd、label、li、menu、ol、p、pre、q、s、 samp、 small、 span、 strike、 strong、 sub、 sup、 table、 tbody、 tr、 tt、 u、 ul 和 var。 4   在 “ 设计视图 ” 中,如果尚未选择复制区域,请单击它的蓝色选项卡,将其选中。请注意,Dreamweaver 实际上会强制您选 择重复区域组的选项卡。这是因为,所有重复区域都位于一个重复区域组中,您必须通过设置整个组的选项来设置重复区域 的选项。 5   在“重复区域组属性检查器”中,根据需要选择或取消选择选项。提供的选项有两个:“重新排序”和“添加/删除”。如果选择“ 重新排序 ”,用户在浏览器中进行编辑时,可以上下移动重复区域。如果选择 “ 添加 / 删除 ”,用户在浏览器中进行编辑 时,可以添加或删除重复区域。两个选项默认都是选中的,您必须至少选中其中一个。 6   保存页面。 如果这是您首次向页面添加 InContext Editing 功能, Dreamweaver 会通知您,它正在向您的站点添加 InContext Editing 支持文件:ice.conf.js、 ice.js 和 ide.html。上传页面时,将务必将这些文件也上传到服务器,否则无法在浏览器 中使用 InContext Editing 功能。 删除区域 若要删除区域,最佳方法是利用区域的属性检查器。通过区域的属性检查器,可以确保删除与此区域关联的所有代码。 1   选择可编辑区域、重复区域或重复区域组。 2   在区域的属性检查器中,单击 “ 删除区域 ” 按钮。 为格式指定 CSS 类 从 Dreamweaver CS5 起已弃用 InContext Editing 的 “ 管理可用的 CSS 类 ” 功能。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   406 使用 Adobe 在线服务 InContext Editing 错误消息 无法将 InContext Editing 应用于包含脚本标签的标签或服务器端代码块 如果所选内容包含服务器端代码, Dreamweaver 不允许您将其转换为可编辑区域或重复区域。此问题与用户在浏览器中进行 操作时, InContext Editing 保存可编辑页面的方式有关。当用户在编辑页面后进行保存时, InContext Editing 会从区域中 删除服务器端代码。 无法使用 DIV 标签转换或封装当前所选内容,因为父节点不允许使用 DIV 作为子标签 当希望转换的所选页面内容无法直接转换时, Dreamweaver 需要用 div 标签来封装此选区,该标签将用作新的可编辑区域或 重复区域的容器。为此,要转换内容的父标签必须 允许使用 div 标签作为子标签。如果您尝试转换的标签的父标签不允许有 div 子标签, Dreamweaver 将不允许执行转换。 当前选区已包含可编辑区域或位于可编辑区域内。不允许嵌套的可编辑区域。 如果所选内容位于可编辑区域中,或所选内容中 包含可编辑区域, Dreamweaver 将不允许执行转换。 InContext Editing 不 支持嵌套的可编辑区域。 可编辑区域不应包含重复区域或重复区域组 InContext Editing 可编辑区域无法包含任何其它 InContext Editing 功能。如果您尝试向可编辑区域中添加重复区域或重复 区域组, Dreamweaver 将不允许执行转换。 重复区域不应位于可编辑区域中,也不应包含重复区域组 InContext Editing 可编辑区域无法包含任何其它 InContext Editing 功能。如果您尝试向可编辑区域中添加重复区域或重复 区域组, Dreamweaver 将不允许执行转换。此外,如果元素已包含重复区域组, Dreamweaver 不会将此元素转换为可编辑 区域或重复区域。 当前所选内容已包含重复区域或处于重复区域内。不允许嵌套的重复区域。 如果所选内容位于重复区域中,或所选内容中 包含重复区域, Dreamweaver 将不允许执行转换。 InContext Editing 不支持 嵌套的重复区域。 所选内容必须仅包含一个 Dreamweaver 模板可编辑区域 / 重复区域,或必须位于任何 Dreamweaver 模板可编辑区域内 使用 Dreamweaver 模板文件 (.dwt 文件)时,必须遵守特定规则。若要将 Dreamweaver 模板可编辑区域 / 重复区域转换 为 InContext Editing 可编辑区域 / 重复区域,必须在页面上正好选择一个 Dreamweaver 模板可编辑区域 / 重复区域,然后 进行转换。若要转换其它所选页面内容 (例如文本块),所选内容必须位于 Dreamweaver 模板可编辑区域中。 只有 DIV 标签可以同时应用可编辑区域功能和重复区域功能 如果所选内容不是 div 标签,且已应用有重复区域属性,Dreamweaver 同样不允许将可编辑区域属性应用到该标签。只有 div 标签可以同时应用有可编辑区域属性和重复区域属性。 Dreamweaver 检测到,重复区域之前有重复区域组标签 所有 InContext Editing 重复区域都必须位于重复区域组中。向页面添加新的重复区域时, Dreamweaver 会检测该重复区域 是否紧跟在一个重复区域组的后面。如果是, Dreamweaver 会让您选择,是将这个新的重复区域添加到已存在的重复区域组 中,还是创建一个新的重复区域组来包含这个新的重复区域。 草稿 上次更新 2010/3/21 第 17 章 : 使用 XSLT 显示 XML 数据 Adobe® Dreamweaver® CS5 提供的工具使您可以在网页上显示可扩展标记语言 (XML) 数据及创建在客户端或服务器上执行 可扩展样式表语言转换 (XSLT) 的页面。 关于 XML 和 XSLT 在 Web 页面中使用 XML 和 XSL 可扩展标记语言 (XML) 可对信息进行结构化处理。与 HTML 一样, XML 允许您使用标签使信息结构化,但 XML 标签与 HTML 标签不一样,它不是预定义的。 XML 允许您创建对数据结构 (架构)进行最佳定义的标签。标签嵌套在其它标签中可 创建一种父子标签的架构。与大多数 HTML 标签一样, XML 架构中的所有标签都有一个开始标签和一个结束标签。 下面的示例介绍 XML 文件的基本结构: 03/01/2004 Displaying  XML  Data  with  Adobe  Dreamweaver Charles  Brown 04/08/2004 Understanding  XML John  Thompson 在此示例中,每个父级  标签包含三个子级标签: 和 <author>。但每个 <book> 标签也是 <mybooks> 标签的子标签,后者在架构中的级别比前者高一级。只要相应地将标签嵌套在其它标签中,并为每个开始标签指定一个对应的 结束标签,您就可以随意命名 XML 标签并安排它们的结构。 XML 文档不包含任何格式设置,这类文档只是结构化信息的容器。有了 XML 架构之后,就可以使用可扩展样式表语言 (XSL) 来显示信息。与层叠样式表 (CSS) 允许您设置 HTML 的格式一样, XSL 也允许您设置 XML 数据的格式。您可以在 XSL 文件中定义样式、页面元素和布局等,并将 XSL 文件附加到 XML 文件,以便用户在浏览器中查看 XML 数据时,数据格 式会根据您在 XSL 文件中的定义进行设置。内容 (XML 数据)与表现形式 (由 XSL 文件定义)是完全独立的,这使您可以 更好地控制信息在网页上的显示方式。本质上, XSL 是 XML 的一种表示形式技术,其中的主要输出是 HTML 页面。 可扩展样式表语言转换 (XSLT) 是 XSL 的子集语言,它允许您在网页上显示 XML 数据,并将 XML 数据连同 XSL 样式 “ 转 换 ” 为 HTML 形式的可读样式化信息。您可以使用 Dreamweaver 创建 XSLT 页面,这种页面允许您使用应用程序服务器或 浏览器执行 XSL 转换。在执行服务器端 XSL 转换时,服务器执行 XML 和 XSL 的转换工作,并将其显示在页面上。在执行客 户端转换时,浏览器 (如 Internet Explorer)执行操作。 最终采用的方法 (服务器端转换与客户端转换)取决于想要达到的最终结果、可供使用的技术、对 XML 源文件的访问级别及 其它因素。两种方法都有它们自己的优点和局限性。例如,服务器端转换适用于所有浏览器,而客户端转换仅限于新型浏览器 (Internet Explorer 6、 Netscape 8、 Mozilla 1.8 和 Firefox 1.0.2)。服务器端转换允许您动态地显示您自己的服务器上或 Web 上任何地方的 XML 数据,而客户端转换必须使用自己的 Web 服务器上本地承载的那些 XML 数据。最后,服务器端转 换要求将页面部署到已配置的应用程序服务器,而客户端转换只要求访问 Web 服务器。 有关了解 XML 的教程,请访问 www.adobe.com/go/vid0165_cn。 407 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   408 使用 XSLT 显示 XML 数据 更多帮助主题 XML 教程 服务器端 XSL 转换 Dreamweaver 提供了一些方法,用于创建可执行服务器端 XSL 转换的 XSLT 页面。当应用程序服务器执行 XSL 转换时,包 含 XML 数据的文件可以驻留在您自己的服务器上,也可驻留在 Web 上的任何地方。此外,任何浏览器都可显示已转换的数 据。但是,部署服务器端转换的页面有些复杂,并要求您拥有应用程序服务器的访问权。 当处理服务器端 XSL 转换时,您可以使用 Dreamweaver 来创建生成整个 HTML 文档的 XSLT 页面 (整个 XSLT 页面), 也可以创建生成部分 HTML 文档的 XSLT 片断。整个 XSLT 页面类似于常规 HTML 页面。它包含一个 <body> 标签和一个 <head> 标签,允许在页面上显示 HTML 数据和 XML 数据的组合。 XSLT 片断是由单独的文档使用的一段代码,它显示带格 式的 XML 数据。与整个 XSLT 页面不同,它是一个独立的文件,不包含任何 <body> 或 <head> 标签。如果要在 XML 数据自 己的页面上显示 XML 数据,则需要创建整个 XSLT 页面,并将 XML 数据绑定到该页面。另一方面,如果要在现有动态页的 特定部分中显示 XML 数据,例如,在体育用品商店的动态主页的一侧显示来自 RSS 源的体育比分,则需要创建 XSLT 片断, 并在动态页中插入对该片断的引用。创建 XSLT 片断并与其它动态页一起使用这些片断来显示 XML 数据是较常用的方法。 创建这些类型页面的第一步是创建 XSLT 片断。它是一个单独的文件,该文件包含要最终显示在动态页中的 XML 数据的布局 和格式设置等。创建 XSLT 片断之后,请在动态页 (如 PHP 或 ColdFusion 页面)中插入对该片断的引用。插入的对 XSLT 片断的引用与服务器端包含 (SSI) 的工作方式很类似,即带格式的 XML 数据 (片断)位于单独的文件中,而在 “ 设计 ” 视图 中,片断的占位符显示在动态页本身上。如果浏览器请求的动态页包含对该片断的引用,则服务器处理所包含的指令并创建一 个新文档,其中显示片断的带格式内容而不是占位符。 WEB 浏览器 <HTML> 应用程序 6 <p>数据 </HTML> 5 服务器 Web 服务器 <xsl:> </xsl:> <HTML> 3                                      4 XML 1 <code> </HTML> 2 1. 浏览器请求动态页  2. Web 服务器查找该页并将其传递给应用程序服务器  3. 应用程序服务器扫描该页中的指令并获取 XSLT 片段  4. 应用程序服务器 执行转换 (读取 XSLT 片段,获取 xml 数据并设置 xml 数据的格式) 5. 应用程序服务器将转换后的片段插入页中,然后将该页传递回 Web 服务器 6. Web 服务器将完成的页发送到浏览器 使用 XSL 转换服务器行为在动态页中插入对 XSLT 片断的引用。插入引用时,Dreamweaver 会在包含运行时库文件的站点根 文件夹中生成一个 includes/MM_XSLTransform/ 文件夹。转换指定的 XML 数据时,应用程序服务器使用该文件中定义的 函数。该文件负责获取 XML 数据和 XSLT 片断、执行 XSL 转换和在网页上输出结果。 包含 XSLT 片断的文件、包含您的数据的 XML 文件以及生成的运行时库文件都必须在服务器上,页面才能正确显示。(如果 您选择远程 XML 文件作为数据源,例如,从 RSS 源选择一个文件,则该文件当然必须位于 Internet 上的其它某个位置。) 也可以使用 Dreamweaver 创建用于服务器端转换的整个 XSLT 页面。整个 XSLT 页面的工作方式与 XSLT 片断的工作方式 完全相同,只是在使用 XSL 转换服务器行为插入对整个 XSLT 页面的引用时,插入的是 HTML 页面的完整内容。所以,在插 入引用之前必须清空动态页 (充当容器页面的 .cfm、 .php 或 .asp 页面)中的所有 HTML 代码。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   409 使用 XSLT 显示 XML 数据 Dreamweaver 支持对 ColdFusion、 ASP 和 PHP 页面执行 XSL 转换。 注:必须正确配置服务器才能执行服务器端转换。有关详细信息,请联系服务器管理员,或访问 www.adobe.com/go/dw_xsl_cn。 更多帮助主题 第 413 页的 “ 在服务器上执行 XSL 转换 ” 客户端 XSL 转换 您可以在客户端执行 XSL 转换,而无需使用应用程序服务器。您可以使用 Dreamweaver 创建整个 XSLT 页面来执行此转换, 但客户端转换要求对包含要显示的数据的 XML 文件进行操作。此外,客户端转换只适用于新型浏览器 (Internet Explorer 6、 Netscape 8、 Mozilla 1.8 和 Firefox 1.0.2)。有关支持及不支持 XSL 转换的浏览器的详细信息,请访问 www.w3schools.com/xsl/xsl_browsers.asp。 首先,创建整个 XSLT 页并附加 XML 数据源。(创建新页面时,Dreamweaver 会提示您附加数据源。)可以从头创建 XSLT 页面,或者将现有 HTML 页面转换为 XSLT 页面。当您将现有 HTML 页面转换为 XSLT 页面时,必须使用 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)附加 XML 数据源。 创建 XSLT 页面后,必须通过在 XML 文件本身中插入对 XSLT 页面的引用(与在 HTML 页面的 <head> 部分中插入对外部 CSS 样式表的引用非常类似),将该页面链接到包含 XML 数据的 XML 文件。站点访问者必须在浏览器中查看 XML 文件 (而不是 XSLT 页面)。当站点访问者查看页面时,浏览器执行 XSL 转换,并显示由链接的 XSLT 页面进行格式设置的 XML 数据。 链接的 XSLT 和 XML 页面之间的关系在概念上相似,但不同于外部 CSS/HTML 页面模型。当您拥有一个包含内容 (如文 本)的 HTML 页面时,可以使用外部样式表对该内容进行格式设置。 HTML 页面将决定内容,而用户看不到的外部 CSS 代 码则决定表现形式。而对于 XSLT 和 XML,情况相反。 XML 文件 (用户看不到它的原始形式)决定内容,而 XSLT 页面决 定表现形式。XSLT 页面包含标准 HTML 通常包含的表格、布局和图形等。当用户在浏览器中查看 XML 文件时,XSLT 页面 将对内容进行格式设置。 5 Web 浏览器 WEB 服务器 1 <XML> <directive> 2 3 XSLT 4 1. 浏览器请求 XML 文件 2. 服务器通过将 XML 文件发送到浏览器来进行响应 3. 浏览器读取 XML 指令并调用 XSLT 文件 4. 服务器将 XSLT 文件发送 到浏览器  5. 浏览器转换 XML 数据并将其显示在浏览器中 在使用 Dreamweaver 将 XSLT 页面链接到 XML 页面时,Dreamweaver 会在 XML 页面顶部为您插入相应的代码。如果您 拥有要链接到的 XML 页面 (即,此 XML 文件以独享方式存在于您的 Web 服务器上),则需要执行的所有操作是:使用 Dreamweaver 插入链接这两个页面的相应代码。当您拥有 XML 文件时,客户端所执行的 XSL 转换完全是动态的。也就是 说,每当您更新 XML 文件中的数据时,使用链接的 XSLT 页面的任何 HTML 输出都将用新信息自动进行更新。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   410 使用 XSLT 显示 XML 数据 注:用于客户端转换的 XML 和 XSL 文件必须位于同一个目录中。否则,浏览器将读取 XML 文件并查找用于转换的 XSLT 页 面,但无法找到 XSLT 页面中由相对链接定义的资源 (样式表、图像等)。 如果您对要链接到的 XML 页面不具备所有权 (例如,要使用来自 Web 上其它地方的 RSS 源的 XML 数据),则工作流程将 稍微复杂一点。要使用来自外部源的 XML 数据执行客户端转换,必须首先将 XML 源文件下载到 XSLT 页面所在的同一目 录。在 XML 页面位于本地站点之后,可以使用 Dreamweaver 添加相应代码,以便将 XML 页面链接到 XSLT 页面,然后将 这两个页面 (下载的 XML 文件和链接的 XSLT 页面)都发送到 Web 服务器。当用户在浏览器中查看 XML 页面时, XSLT 页面将对内容进行格式设置,如上例所述。 对来自外部源的 XML 数据执行客户端 XSL 转换的缺点是:XML 数据只有部分是 “ 动态的 ”。下载和修改的 XML 文件只是 存在于 Web 上其它某个地方的文件的 “ 快照 ”。如果不在 Web 上的原始 XML 文件发生更改,则必须再次下载文件,将其链 接到 XSLT 页面,并重新将 XML 文件发送给 Web 服务器。浏览器只呈现它从 Web 服务器上的 XML 文件接收的数据,而不 呈现原始 XML 源文件包含的数据。 更多帮助主题 第 428 页的 “ 在客户端执行 XSL 转换 ” XML 数据和重复元素 重复区域 XSLT 对象允许在页面中显示 XML 文件中的重复元素。包含 XML 数据占位符的所有区域均可转换为重复区域。但 最常见的区域是表格、表格行或一系列表格行。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   411 使用 XSLT 显示 XML 数据 下例说明如何将重复区域 XSLT 对象应用于显示餐馆菜单信息的表格行。初始行显示来自 XML 架构的三个不同元素:菜品、 说明及价格。将重复区域 XSLT 对象应用于表格行,并由应用程序服务器或浏览器处理页面时,将重复该表格,在每个新表格 行中插入唯一的数据。 当您对 “ 文档 ” 窗口中的元素应用重复区域 XSLT 对象时,重复的区域周围会出现一个灰色的选项卡式细轮廓。在浏览器 (“ 文件 ”>“ 在浏览器中预览 ”)中预览工作时,该灰色轮廓消失且所选内容扩展,以显示 XML 文件中的指定重复元素 (如以 上说明所述)。 向页面添加重复区域 XSLT 对象时, “ 文档 ” 窗口中 XML 数据占位符的长度将截短。这是因为 Dreamweaver 更新了 XML 数据占位符的 XPath (XML 路径语言)表达式,使该路径变为相对于重复元素的路径。 例如,以下代码表示包含两个动态占位符的表格,并且没有对此表格应用重复区域 XSLT 对象: <table  width="500"  border="1"> <tr> <td><xsl:value-of  select="rss/channel/item/title"/></td> </tr> <tr> <td><xsl:value-of  select="rss/channel/item/description"/></td> </tr> </table> 以下代码表示同一个表格,但对表格应用了重复区域 XSLT 对象: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   412 使用 XSLT 显示 XML 数据 <xsl:for-each  select="rss/channel/item"> <table  width="500"  border="1"> <tr> <td><xsl:value-of  select="title"/></td> </tr> <tr> <td><xsl:value-of  select="description"/></td> </tr> </table> </xsl:for-each> 在上例中, Dreamweaver 将位于重复区域 (title 和 description)内项目的 Xpath 更新为相对于封闭标签 <xsl:for-each> 内 的 XPath,而不是整个文档。 同样,在其它情况下,Dreamweaver 也会生成上下文相关的 XPath 表达式。例如,如果将某个 XML 数据占位符拖放到已应 用了重复区域 XSLT 对象的表格中, Dreamweaver 会自动显示相对于封闭标签 <xsl:for-each> 中现有 XPath 的 XPath。 更多帮助主题 第 416 页的 “ 显示重复 XML 元素 ” 预览 XML 数据 当您使用 “ 在浏览器中预览 ” (“ 文件 ”>“ 在浏览器中预览 ”)来预览插入到 XSLT 片断或整个 XSLT 页面的 XML 数据时, 执行 XSL 转换的引擎根据具体情况的不同而不同。对于包含 XSLT 片断的动态页,应用程序服务器始终执行此转换。在其它情 况下, Dreamweaver 或浏览器可能会执行此转换。 下表概述了使用 “ 在浏览器中预览 ” 时的各种情况,以及那些执行各自的转换的引擎: 在浏览器中预览的页面的类型 数据转换执行者 包含 XSLT 片断的动态页 应用程序服务器 XSLT 片断或整个 XSLT 页面 Dreamweaver 包含指向整个 XSLT 页面的链接的 XML 文件 浏览器 以下主题提供了一些准则,可帮助您根据需要确定适当的预览方法: 预览服务器端转换的页面 如果进行服务器端转换,站点访问者最终看到的内容由应用程序服务器进行转换。创建 XSLT 和动态页以用于服务器端转换 时,预览包含 XSLT 片断的动态页 (而非 XSLT 片断本身)通常更可取。在前一种情形中,使用应用程序服务器可以确保您预 览的内容与站点访问者在访问页面时所看到的内容一致。在后一种情形中, Dreamweaver 执行转换,并可能提供稍稍不一致 的结果。您可以在创建 XSLT 片断时使用 Dreamweaver 预览该片断,但如果在插入 XSLT 片断之后使用应用程序服务器预览 动态页,则可以看到数据呈现的最准确结果。 预览客户端转换的页面 如果进行客户端转换,站点访问者最终看到的内容由浏览器转换。通过添加一个从 XML 文件指向 XSLT 页面的链接,您可以 达到此目的。如果在 Dreamweaver 中打开 XML 文件,并在浏览器中预览此文件,将强制浏览器加载 XML 文件并执行转换。 这将为您提供与站点访问者相同的体验。 但使用此方法使调试页面变得更加困难,因为浏览器在内部转换 XML 并生成 HTML。如果选择浏览器的 “ 查看源文件 ” 选项 调试生成的 HTML,您将只看到浏览器接收到的原始 XML,而无法看到负责呈现页面的完整 HTML (标签和样式等)。若 要在查看源代码时看到完整的 HTML,则必须改为在浏览器中预览 XSLT 页面。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   413 使用 XSLT 显示 XML 数据 预览整个 XSLT 页面和 XSLT 片断 创建整个 XSLT 页面和 XSLT 片断时,您会希望预览工作结果以确保正确显示数据。如果使用 “ 在浏览器中预览 ” 显示整个 XSLT 页面或 XSLT 片断, Dreamweaver 将使用内置转换引擎执行转换。该方法可使您快速看到结果,并使您能够更轻松地 以渐进方式构建和调试页面。它还提供了一种方式,使您可通过在浏览器中选择 “ 查看源文件 ” 选项来查看整个 HTML (标 签和样式等)。 注:开始构建 XSLT 页时通常使用此预览方法,而与使用客户端还是服务器转换数据无关。 在服务器上执行 XSL 转换 执行服务器端 XSL 转换的工作流程 可在服务器上执行服务器端 XSL 转换。构建显示 XML 数据的页面之前,请先阅读有关服务器端和客户端 XSL 转换和将 XML 和 XSL 用于网页的相应信息。 注:必须正确配置服务器才能执行服务器端转换。有关详细信息,请联系服务器管理员,或访问 www.adobe.com/go/dw_xsl_cn。 执行服务器端 XSL 转换的常规工作流程如下 (在其它主题对每个步骤分别进行了说明): 1.  设置 Dreamweaver 站点。 2.  选择服务器技术并设置应用程序服务器。 3.  测试应用程序服务器。 例如,创建一个需要处理的页面,然后确保应用程序服务器能处理该页面。有关如何执行操作的教程,请访问 www.adobe.com/go/dw_xsl_cn。 4.  创建 XSLT 片断或页面,或将 HTML 页面转换为 XSLT 页面。 · 在 Dreamweaver 站点上创建一个 XSLT 片断或整个 XSLT 页面。 · 将现有 HTML 页面转换为完整的 XSLT 页面。 5.  将 XML 数据源附加到页面。 6.  通过将 XML 数据绑定到 XSLT 片断或整个 XSLT 页面来显示数据。 7.  如果适用,将重复区域 XSLT 对象添加到包含 XML 数据占位符的表格或表格行。 8.  插入引用。 · 要将对 XSLT 片断的引用插入到动态页面中,请使用 XSL 转换服务器行为。 · 要将对整个 XSLT 页面的引用插入到动态页面中,请从动态页面删除所有 HTML 代码,然后使用 XSL 转换服务器行为。 9.  发送页面和片断。 将动态页和 XSLT 片断 (或整个 XSLT 页面)发送到应用程序服务器。如果正在使用本地 XML 文件,则还需要发送该文件。 10.  在浏览器中查看动态页。 执行此操作时,应用程序服务器会转换 XML 数据,将数据插入动态页,然后在浏览器中显示数据。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   414 使用 XSLT 显示 XML 数据 更多帮助主题 第 31 页的 “ 设置 Dreamweaver 站点 ” 第 440 页的 “ 选择应用程序服务器 ” 第 407 页的 “ 在 Web 页面中使用 XML 和 XSL” 第 409 页的 “ 客户端 XSL 转换 ” 第 408 页的 “ 服务器端 XSL 转换 ” 创建 XSLT 页面 可以创建在网页上显示 XML 数据的 XSLT 页面。您可以创建整个 XSLT 页面,该 XSLT 页面包含一个 <body> 标签和一个 <head> 标签,也可以创建 XSLT 片断。创建 XSLT 片断时,将创建一个独立的文件,其中不包含任何 body 或 head 标签,它 只是稍后要插入在动态页中的一段简单代码。 注:如果从现有 XSLT 页面入手,则需要将 XML 数据源附加到该现有页面。 1   选择 “ 文件 ”>“ 新建 ”。 2   在 “ 新建文档 ” 对话框的 “ 空白页 ” 类别中,从 “ 页面类型 ” 列选择以下类型之一: · 选择 XSLT (整页)创建整个 XSLT 页。 · 选择 XSLT (片断)创建 XSLT 片断。 3   单击 “ 创建 ”,然后在 “ 定位 XML 源 ” 对话框中执行以下操作之一: · 选择 “ 附加本地文件 ”,单击 “ 浏览 ” 按钮,浏览至计算机上的本地 XML 文件,然后单击 “ 确定 ”。 · 选择 “ 附加远端文件 ”,输入 Internet 上某个 XML 文件 (如来自 RSS 源)的 URL,然后单击 “ 确定 ”。 注:单击 “ 取消 ” 按钮将生成一个新的 XSLT 页面,页面中没有附加的 XML 数据源。 “ 绑定 ” 面板由 XML 数据源的架构填充。 下表说明了架构中可能出现的各种元素: 元素 表示 详细信息 <> 必需的非重复性 XML 元素 在其父节点中刚好出现一次的元素 <>+ 重复的 XML 元素 在其父节点中出现一次或多次的元素 <>+ 可选 XML 元素 在其父节点中出现零次或多次的元素 粗体的元素节点 当前上下文元素 当插入点在重复区域中时,通常为重复元素 @ XML 属性 4   以 .xsl 或 .xslt 扩展名 (.xsl 是默认值)保存新页面 (“ 文件 ”>“ 保存 ”)。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   415 使用 XSLT 显示 XML 数据 将 HTML 页面转换为 XSLT 页面 还可以将现有 HTML 页面转换为 XSLT 页面。例如,如果您拥有一个要将 XML 数据添加到其中的预先设计好的静态页面, 则可以将该页面转换为 XSLT 页面,而不是创建一个 XSLT 页面并从头开始重新设计页面。 1   打开要转换的 HTML 页面。 2   选择 “ 文件 ”>“ 转换 ”>“XSLT 1.0”。 将在 “ 文档 ” 窗口中打开页面的副本。新页面是以 .xsl 扩展名保存的 XSL 样式表。 附加 XML 数据源 如果从现有 XSLT 页面入手,或者在使用 Dreamweaver 创建新 XSLT 页面时没有附加 XML 数据源,则需要使用 “ 绑定 ” 面 板附加 XML 数据源。 1   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击 XML 链接。 注:您还可以单击 “ 绑定 ” 面板右上角的 “ 源 ” 链接,添加 XML 数据源。 2   请执行下列操作之一: · 选择 “ 附加本地文件 ”,单击 “ 浏览 ” 按钮,浏览至计算机上的本地 XML 文件,然后单击 “ 确定 ”。 · 选择 “ 附加远端文件 ”,然后输入 Internet 上某个 XML 文件 (如来自 RSS 源的文件)的 URL。 3   单击 “ 确定 ”,关闭 “ 定位 XML 源 ” 对话框。 “ 绑定 ” 面板由 XML 数据源的架构填充。 在 XSLT 页面中显示 XML 数据 创建 XSLT 页面并附加 XML 数据源后,就可以将数据绑定到页面了。为此,将 XML 数据占位符添加到页面并使用 XPath 表 达式创建器或 “ 属性 ” 检查器来设置页面上将显示的选定数据的格式。 1   打开带有附加的 XML 数据源的 XSLT 页面。 2  (可选)选择 “ 插入 ”>“ 表格 ”,向页面添加表格。表格有助于您组织 XML 数据。 注:大多数情况下,使用重复区域 XSLT 对象在页面上显示重复 XML 元素。这时,您可能希望创建具有一列或多列的单行表 格,如果希望包含表格标题,则创建由两行组成的表格。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   416 使用 XSLT 显示 XML 数据 3   在 “ 绑定 ” 面板中选择一个 XML 元素,将它拖动到页面上要插入数据的位置。 页面上即显示一个 XML 数据占位符。该占位符突出显示在花括号中。它使用 XPath (XML 路径语言)语法描述 XML 架构 的层次结构。例如,如果将子元素 title 拖到页面上,而该元素具有 rss、channel 和 item 这些父元素,则动态内容占位符的语 法是 {rss/channel/item/title}。 双击页面上的 XML 数据占位符以打开 XPath 表达式创建器。您可以使用 XPath 表达式创建器设置选定数据的格式,或从 XML 架构中选择其它项目。 4  (可选)将样式应用于 XML 数据,方法是选择 XML 数据占位符,与将样式应用于内容的任何其它部分一样,使用 “ 属性 ” 检查器或 “CSS 样式 ” 面板对该数据占位符应用样式。或者,可以使用设计时间样式表将样式应用于 XSLT 片断。以上这些 方法各有其自己的优点和局限性。 5   在浏览器 (“ 文件 ”>“ 在浏览器中预览 ”)中进行预览。 注:使用 “ 在浏览器中预览 ” 进行工作预览时, Dreamweaver 执行内部 XSL 转换,而不使用应用程序服务器。 更多帮助主题 第 412 页的 “ 预览 XML 数据 ” 第 145 页的 “ 使用表格显示内容 ” 显示重复 XML 元素 重复区域 XSLT 对象允许在网页中显示来自 XML 数据源的重复元素。例如,如果要显示新闻源的文章标题和说明,而该新闻 源包含十至二十篇文章,则 XML 文件中的每一个标题和说明都很可能是重复元素的一个子元素。 “ 设计 ” 视图中包含 XML 数据占位符的任何区域都可以更改为重复区域。但最常见的区域是表格、表格行或一系列表格行。 1   在 “ 设计 ” 视图中,选择包含一个或多个 XML 数据占位符的区域。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   417 使用 XSLT 显示 XML 数据 可以选定任意内容,包括表格、表格行甚至一段文本。 若要精确选择页面上的区域,可以使用 “ 文档 ” 窗口左下角的标签选择器。例如,如果区域是表格,则在页面上单击表格 内部,然后在标签选择器中单击该标签。 2   执行下列操作之一: · 选择 “ 插入 ”>“XSLT 对象 ”>“ 重复区域 ”。 · 在 “ 插入 ” 面板的 “XSLT” 类别中,单击 “ 重复区域 ” 按钮。 3   在 XPath 表达式创建器中,选择以小加号标明的重复元素。 4   单击 “ 确定 ”。 在 “ 文档 ” 窗口中,重复的区域周围会出现一个灰色的选项卡式细轮廓。在浏览器 (“ 文件 ”>“ 在浏览器中预览 ”)中进行预 览时,该灰色轮廓消失且所选内容扩展,以显示 XML 文件中的指定重复元素。 向页面添加重复区域 XSLT 对象时, “ 文档 ” 窗口中的 XML 数据占位符将被截短。这是因为 Dreamweaver 截短了 XML 数 据占位符的 XPath,使它成了一个相对于重复元素路径的路径。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   418 使用 XSLT 显示 XML 数据 更多帮助主题 第 424 页的 “ 使用 XPath 表达式创建器为 XML 数据添加表达式 ” 第 410 页的 “XML 数据和重复元素 ” 设置重复区域 (XSL) 属性 在属性检查器中,您可以选择一个不同的 XML 节点来创建重复区域。 ❖  在 “ 选择 ” 文本框中,输入新节点,然后按闪电图标并从出现的 XML 架构树中选择节点。 编辑重复区域 XSLT 对象 将重复区域 XSLT 对象添加到区域之后,可使用属性检查器编辑该对象。 1   通过单击重复区域周围的灰色标签选择该对象。 2   在 “ 属性 ” 检查器 (“ 窗口 ”>“ 属性 ”)中,单击 “ 选择 ” 文本字段旁的动态图标。 3   在 XPath 表达式创建器中进行更改,然后单击 “ 确定 ”。 在动态页中插入 XSLT 片断 创建 XSLT 片断之后,可以使用 XSL 转换服务器行为将它插入动态网页。将服务器行为添加至页面并在浏览器中查看页面时, 应用程序服务器执行转换,该转换显示所选的 XSLT 片断的 XML 数据。Dreamweaver 支持对 ColdFusion、ASP 或 PHP 页 面执行 XSL 转换。 注:如果想要在动态页中插入整个 XSLT 页面的内容,过程完全相同。在使用 XSL 转换服务器行为插入整个 XSLT 页面之前, 请删除动态页中的所有 HTML 代码。 1   打开一个现有的 ColdFusion、 ASP 或 PHP 页面。 2   在 “ 设计 ” 视图中,将插入点放置在要插入 XSLT 片断的位置。 注:插入 XSLT 片断时,在页面上放置插入点后应始终单击 “ 显示代码视图和设计视图 ” 按钮,以确保插入点位于正确位置。 如果插入点没有位于正确位置,则可能需要单击 “ 代码 ” 视图中的其它位置,以将插入点放到需要的位置。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   419 使用 XSLT 显示 XML 数据 3   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后选择 “XSL 转换 ”。 4   在 “XSL 转换 ” 对话框中,单击 “ 浏览 ” 按钮,浏览到 XSLT 片断或整个 XSLT 页面。 Dreamweaver 使用附加到指定片断的 XML 文件的文件路径或 URL 填充下一个文本字段。若要更改,请单击 “ 浏览 ” 按钮, 浏览至其它文件。 5  (可选)单击加号 (+) 按钮添加 XSLT 参数。 6   单击 “ 确定 ” 以将对 XSLT 片断的引用插入到页面中。该片断不可编辑。您可以双击该片断以打开片断的源文件进行编辑。 Dreamweaver 还会在包含运行时库文件的站点根文件夹中创建一个 includes/MM_XSLTransform/ 文件夹。应用程序服务 器使用该文件中定义的函数执行转换。 7   将动态页上传到服务器(“ 站点 ”>“ 上传 ”),并单击 “ 是 ” 以包含相关文件。包含 XSLT 片断的文件、包含您的数据的 XML 文件以及生成的运行时库文件都必须在服务器上,页面才能正确显示。(如果您选择远程 XML 文件作为数据源,则该文件 必须位于 Internet 上的其它位置。) 更多帮助主题 第 414 页的 “ 创建 XSLT 页面 ” 第 408 页的 “ 服务器端 XSL 转换 ” 从动态页删除 XSLT 片断 通过删除用于插入 XSLT 片断的 XSL 转换服务器行为,可以从页面删除该片断。删除服务器行为只删除该 XSLT 片断 -- 它不 删除关联的 XML、 XSLT 或运行时库文件。 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,选择要删除的 XSL 转换服务器行为。 2   单击减号 (-) 按钮。 注:应始终以此方式删除服务器行为。手动删除生成的代码虽然会使服务器行为从 “ 服务器行为 ” 面板消失,但是仅删除部分 服务器行为。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   420 使用 XSLT 显示 XML 数据 编辑 XSL 转换服务器行为 向动态网页添加 XSLT 片断之后,可以随时编辑 XSL 转换服务器行为。 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,双击要编辑的 XSL 转换服务器行为。 2   进行更改并单击 “ 确定 ”。 创建动态链接 可以在 XSLT 页面上创建一个动态链接,当用户单击您的 XML 数据中指定的一个或一组单词时,该动态链接将链接到特定的 URL。有关完整的说明,请参阅 Dreamweaver 勘误表,网址为 www.adobe.com/go/dw_documentation_cn。 将样式应用到 XSLT 片断 当您创建整个 XSLT 页面 (也就是,包含 <body> 和 <head> 标签的 XSLT 页面)时,可以在页面上显示 XML 数据,然后与 设置内容的任何其它部分的格式一样,使用 “ 属性 ” 检查器或 “CSS 样式 ” 面板设置数据的格式。但创建要插入到动态页面的 XSLT 片断 (例如,要在 ASP、 PHP 或 Cold Fusion 页面中插入的片断)时,片断和动态页中样式的呈现变得更加复杂。尽 管您操作的 XSLT 片断独立于动态页,但要牢记,片断是设计用于动态页内部的,而 XSLT 片断的输出最终位于动态页的 <body> 标签内的某个位置。在采用此工作流程的情况下,应确保不在 XSLT 片段中包括 <head> 元素 (例如,样式定义或者指 向外部样式表的链接),这一点很重要。这样会导致应用程序服务器将这些元素放入动态页的 <body> 中,从而生成无效的标 记。 例如,您可能希望创建一个要在动态页中插入的 XSLT 片断,并使用与动态页相同的外部样式表设置片断的格式。如果您将同 一个样式表附加到片断,则所产生的 HTML 页面将包含重复的样式表链接 (一个在动态页的 <head> 部分中,另一个在该页 面的 <body> 部分中, XSLT 片断的内容将出现在这部分中。)您应使用设计时间样式表而不是此方法来引用外部样式表。 设置 XSLT 片断内容的格式时,请使用以下工作流程: · 首先,将外部样式表附加到动态页。(这是将样式应用于任何网页的内容的最佳做法)。 · 其次,将同一外部样式表作为设计时样式表附加到 XSLT 片断。顾名思义,设计时样式表只在 Dreamweaver 的 “ 设计 ” 视 图中有效。 完成前两个步骤之后,可使用已附加到动态页上的同一样式表在 XSLT 片断中创建新样式。HTML 输出将更加清晰(因为 对样式表的引用仅在 Dreamweaver 中使用时有效),片断仍在 “ 设计 ” 视图中显示相应的样式。另外,在 “ 设计 ” 视图中 查看动态页或在浏览器中预览动态页时,所有样式都将应用于片断和动态页。 注:如果在浏览器中预览 XSLT 片断,则浏览器将不显示样式。应改为在浏览器中预览动态页,以在动态页的上下文中查看 XSLT 片断。 有关使用 CSS 设置 XSLT 片断格式的详细信息,请参阅 www.adobe.com/go/dw_xsl_styles_cn。 更多帮助主题 第 122 页的 “ 使用设计时间样式表 ” 使用参数进行 XSL 转换 将 XSL 转换服务器行为添加到网页时,可以定义 XSL 转换的参数。参数控制 XML 数据的处理和显示方式。例如,您可以使 用参数来标识和列出新闻源的特定文章。页面加载浏览器时,只会显示使用该参数指定的文章。 向 XSL 转换添加 XSLT 参数 1   打开 “XSL 转换 ” 对话框。您可以通过在 “ 服务器行为 ” 面板(“ 窗口 ”>“ 服务器行为 ”)中双击某个 XSL 转换服务器行为,或 通过添加一个新的 XSL 转换服务器行为来执行此操作。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   421 使用 XSLT 显示 XML 数据 2   在 “XSL 转换 ” 对话框中,单击 XSLT 参数旁的加号 (+) 按钮。 3   在 “ 添加参数 ” 对话框的 “ 名称 ” 框中,输入参数的名称。该名称只能包含字母数字字符。不能包含空格。 4   请执行下列操作之一: · 如果要使用静态值,请在 “ 值 ” 框中输入它。 · 如果要使用动态值,请单击 “ 值 ” 框旁的动态图标,完成 “ 动态数据 ” 对话框,然后单击 “ 确定 ”。有关详细信息,请单击 “ 动态 数据 ” 对话框中的 “ 帮助 ” 按钮。 5   请在 “ 默认值 ” 框中输入页面未接收到运行时值的时候希望参数使用的值,并单击 “ 确定 ”。 编辑 XSLT 参数 1   打开 “XSL 转换 ” 对话框。您可以通过在 “ 服务器行为 ” 面板(“ 窗口 ”>“ 服务器行为 ”)中双击某个 XSL 转换服务器行为,或 通过添加一个新的 XSL 转换服务器行为来执行此操作。 2   从 XSLT 参数列表中选择参数。 3   单击 “ 编辑 ” 按钮。 4   进行更改并单击 “ 确定 ”。 删除 XSLT 参数 1   打开 “XSL 转换 ” 对话框。您可以通过在 “ 服务器行为 ” 面板(“ 窗口 ”>“ 服务器行为 ”)中双击某个 XSL 转换服务器行为,或 通过添加一个新的 XSL 转换服务器行为来执行此操作。 2   从 XSLT 参数列表中选择参数。 3   单击减号 (-) 按钮。 创建并编辑条件 XSLT 区域 可在 XSLT 页面上创建简单条件区域或多条件区域。您可在 “ 设计 ” 视图中选择某个元素并对其应用条件区域,还可在文档中 插入点所在的任意位置插入条件区域。 例如,如果不供应某菜品,您要在该物品的价格旁显示 “ 不供应 ” 这个词,则可以在页面上键入 “ 不供应 ”,选择该词,然后 将条件区域应用于选择的文本。Dreamweaver 会使用标签 <xsl:if> 将所选内容括起来,但是仅当数据与条件表达式的条件相匹 配时才在页面上显示 “ 不供应 ” 一词。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   422 使用 XSLT 显示 XML 数据 应用条件 XSLT 区域 您可编写一个简单的条件表达式并将它插入到 XSLT 页面中。打开 “ 条件区域 ” 对话框时如果选定了内容,则内容将包括在 <xsl:if> 块中。如果未选择内容, <xsl:if> 块将添加到页面中的插入点处。建议从使用此对话框入手,然后在 “ 代码 ” 视图中自 定义表达式。 <xsl:if> 元素类似于其它语言中的 if 语句。此元素提供了一种方法,供您测试条件并根据结果采取一系列行动步骤。您可以使用 <xsl:if> 元素测试表达式以得出一个 true 或 false 值。 1   选择 “ 插入 ”>“XSLT 对象 ”>“ 条件区域 ” 或单击 “ 插入 ” 面板的 “XLST” 类别中的 “ 条件区域 ” 图标。 2   在 “ 条件区域 ” 对话框中,输入用于区域的条件表达式。 下例将进行测试以查看上下文节点的 @available 属性值是否为 true。 3   单击 “ 确定 ”。 以下代码将插入 XSLT 页面中: <xsl:if  test="@available='true'"> Content  goes  here </xsl:if> 注:您必须将字符串值 (如 true)用引号引起来。 Dreamweaver 会对引号 (') 进行编码,以便它们能够作为有效的 XHTML 输入。 除了测试节点值外,您可以在任何条件语句中使用受支持的任何 XSLT 函数。为 XML 文件中的当前节点测试条件。下例将对 结果集中的最后一个节点进行测试: 有关编写条件表达式的详细信息和示例,请参阅 “ 参考 ” 面板 (“ 帮助 ”>“ 参考 ”)中的 <xsl:if> 部分。 应用多条件 XSLT 区域 您可编写一个简单的条件表达式并将它插入到 XSLT 页面中。打开 “ 条件区域 ” 对话框时如果选定了内容,则内容将包括在 <xsl:choose> 块中。如果您不选择内容, <xsl:choose> 块将添加到页面中的插入点处。建议从使用此对话框入手,然后在 “ 代码 ” 视图中自定义表达式。 <xsl:choose> 元素类似于其它语言中的 case 语句。此元素提供了一种方法,供您测试条件并根据结果采取一系列行动步骤。您 可以使用 <xsl:choose> 元素对多个条件进行测试。 1   选择 “ 插入 ”>“XSLT 对象 ”>“ 多条件区域 ” 或单击 “ 插入 ” 面板的 “XLST” 类别中的 “ 多条件区域 ” 图标。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   423 使用 XSLT 显示 XML 数据 2   在 “ 多条件区域 ” 对话框中,输入第一个条件。 下例将进行测试以查看上下文节点的 price 子元素是否小于 5。 3   单击 “ 确定 ”。 在此示例中,以下代码将插入 XSLT 页面中: <xsl:choose> <xsl:when  test="price<5"> Content  goes  here </xsl:when> <xsl:otherwise> Content  goes  here </xsl:otherwise> </xsl:choose> 4   若要插入另一个条件,请将插入点置于 “ 代码 ” 视图中的 <xsl:when> 标签对之间,或者就置于 <xsl:otherwise> 标签之前,然 后插入条件区域 (“ 插入 ”>“XSLT 对象 ”>“ 条件区域 ”)。 在指定条件并单击 “ 确定 ” 后,将会有另一个 <xsl:when> 标签插入到 <xsl:choose> 块中。 有关编写条件表达式的详细信息和示例,请参阅 “ 参考 ” 面板 (“ 帮助 ”>“ 参考 ”)中的 <xsl:choose> 部分。 设置条件区域 (If) 属性 此 “ 设置条件区域属性 ” 检查器用于更改 XSL 页面条件区域中使用的条件。条件区域将测试条件并根据结果采取一系列操作步 骤。 ❖  在 “ 测试 ” 框中,输入新条件,然后按 Enter。 设置条件 (When) 属性 此 “ 设置条件区域属性 ” 检查器用于更改 XSL 页面多条件区域中使用的条件。多条件区域将测试条件并根据结果采取一系列操 作步骤。 ❖  在 “ 测试 ” 框中,输入新条件,然后按 Enter。 插入 XSL 注释 可以向文档添加 XSL 注释标签,或将所选内容括在 XSL 注释标签内。 向文档添加 XSL 注释标签 ❖  请执行下列操作之一: · 在 “ 设计 ” 视图中,选择 “ 插入 ”>“XSLT 对象 ”>“XSL 注释 ”,键入注释内容 (或将文本框留空),然后单击 “ 确定 ”。 · 在 “ 代码 ” 视图中,选择 “ 插入 ”>“XSLT 对象 ”>“XSL 注释 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   424 使用 XSLT 显示 XML 数据 也可以单击 “ 插入 ” 面板的 “XSLT” 类别中的 “XSL 注释 ” 图标。 用 XSL 注释标签括起选定内容 1   切换到 “ 代码 ” 视图 (“ 查看 ”>“ 代码 ”)。 2   选择要为其注释的代码。 3   在 “ 编码 ” 工具栏中,单击 “ 应用注释 ” 按钮,然后选择 “ 应用 <xsl:comment></xsl:comment> 注释 ”。 使用 XPath 表达式创建器为 XML 数据添加表达式 Xpath (XML 路径语言)是一种非 XML 语法,用于确定 XML 文档各部分的位置。大多数情况下, Xpath 用作 XML 数据 的查询语言,这与 SQL 语言用于查询数据库一样。有关 XPath 的详细信息,请参阅 W3C Web 站点上的 XPath 语言规范,网 址为 www.w3.org/TR/xpath。 XPath 表达式创建器是 Dreamweaver 中的一个功能,您可以使用它构建简单的 XPath 表达式,以标识特定节点的数据及重 复区域。使用此方法代替从 XML 架构树中拖动值的优点是您可以对显示的值设置格式。打开 “XPath 表达式创建器 ” 对话框 时,根据 XSL 文件中插入点的位置确定当前上下文。在 XML 架构树中,当前上下文以粗体显示。在此对话框内进行选择时, 将相对当前上下文生成正确的 XPath 语句。这为初学者和高级用户简化了编写正确 XPath 表达式的过程。 注:此功能是用于帮助您生成简单的 XPath 表达式以标识特定节点或重复区域。它不允许您手动编辑表达式。如果需要创建复 杂的表达式,请使用此 XPath 表达式创建器开始创建表达式,然后在 “ 代码 ” 视图中或通过 “ 属性 ” 检查器自定义表达式。 创建 XPath 表达式以标识特定节点 1   双击页面上的 XML 数据占位符以打开 XPath 表达式创建器。 2   在 “XPath 表达式创建器 (动态文本) ” 对话框中,选择 XML 架构树中的任何节点。 在 “ 表达式 ” 框中填写正确的 XPath 表达式以标识节点。 注:如果选择 XML 架构树中的其它节点,表达式将会相应进行更改,以反映您的选择。 下例将显示 item 节点的 price 子元素: 这一选择会将以下代码插入 XSLT 页面: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   425 使用 XSLT 显示 XML 数据 <xsl:value-of  select="price"/> 3  (可选)从 “ 格式 ” 弹出菜单中选择格式设置选项。 当节点值返回一个数字时,对所选内容设置格式非常有用。 Dreamweaver 提供了预定义的格式设置函数的列表。请查看 “ 参 考 ” 面板以查看可用的格式设置功能和示例的完整列表。 下例将把 price 子元素的格式设置为具有两个小数位的币种: 这些选项会将以下代码插入 XSLT 页面: <xsl:value-of  select="format-number(provider/store/items/item/price,'$#.00')"/> 4   单击 “ 确定 ”。 5   若要显示 XML 文件中每个节点的值,请对包含动态文本的元素 (例如 HTML 表格行或段落)应用重复区域。 有关选择节点以返回值的更多信息和示例,请参见 “ 参考 ” 面板中的 <xsl:value-of/> 部分。 选择要重复的节点 可选择节点以重复和筛选 (可选)结果。在 “XPath 表达式创建器 ” 对话框中,您所选的内容将会包含在 <xsl:for-each> 块中。 如果您未选择内容, <xsl:for-each> 块将输入到光标所在的插入点处。 1   双击页面上的 XML 数据占位符以打开 XPath 表达式创建器。 2   在 “XPath 表达式创建器 (重复区域) ” 对话框中,选择要在 XML 架构树中重复的项目。 在 “ 表达式 ” 框中填写正确的 XPath 表达式以标识节点。 注:重复的项目在 XML 架构树中以加号 (+) 标识。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   426 使用 XSLT 显示 XML 数据 下例将重复 XML 文件中的每个 item 节点。 单击 “ 确定 ” 时,以下代码将插入 XSLT 页面中: <xsl:for-each  select="provider/store/items/item"> Content  goes  here </xsl:for-each> 在某些情况下,您可能需要处理重复节点的子集 -- 例如,您可能只需要属性具有特定值的项目。在此情况下,您需要创建过滤 器。 筛选要重复的数据 使用过滤器标识具有特定属性值的重复节点。 1   在 XML 架构树中,选择要重复的节点。 2   单击 “ 生成过滤器 ” 扩展按钮。 3   单击加号 (+) 按钮创建空白过滤器。 4   在以下字段中输入筛选标准: 筛选条件  指定包含条件的数据的重复节点。弹出菜单提供了与 XML 架构树中所选节点相关的上级节点的列表。 位置  指定用于限定结果的 “ 筛选条件 ” 节点的属性或子元素。可从弹出菜单选择属性或子元素,或可在此字段中输入自己的 XPath 表达式,以标识在架构树更深层次处存在的子级。 运算符  指定要在筛选表达式中使用的比较运算符。 值  指定要在 “ 筛选条件 ” 节点中检查的值。输入值。如果为 XSLT 页面定义了动态参数,则可以从弹出菜单中选择一个参数。 5   若要指定其它过滤器,请再次单击加号 (+) 按钮。 当输入值或在弹出菜单中进行选择时, “ 表达式 ” 框中的 XPath 表达式会发生改变。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   427 使用 XSLT 显示 XML 数据 下例将把结果集限制为 @available 属性值为 true 的那些 item 节点。 单击 “ 确定 ” 时,以下代码将插入 XSLT 页面中: <xsl:for-each  select="provider/store/items/item[@available  =  'true']"> Content  goes  here </xsl:for-each> 注:您需要将字符串值 (如 true)用引号引起来。 Dreamweaver 会对引号 (') 进行编码,以便它们能够作为有效的 XHTML 输入。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   428 使用 XSLT 显示 XML 数据 您可以创建允许将父节点指定为筛选标准一部分的更复杂的过滤器。下例将把结果集限制为满足以下条件的那些 item 节点: store 的 @id 属性等于 1, item 的 price 节点大于 5。 单击 “ 确定 ” 时,以下代码将插入 XSLT 页面中: <xsl:for-each  select="provider/store[@id  =  1]/items/item[price  >  5]"> Content  goes  here </xsl:for-each> 有关重复区域的更多信息和示例,请参见 “ 参考 ” 面板中的 <xsl:for-each> 部分。 XSL 转换答疑 如果 XSL 转换无法正常工作,请查看位于 www.adobe.com/go/dw_xsl_faq_cn 的答疑指导。它提供许多常见问题的解答。 在客户端执行 XSL 转换 执行客户端 XSL 转换的工作流程 可执行客户端 XSL 转换。构建显示 XML 数据的页面之前,请先阅读有关服务器端和客户端 XSL 转换和将 XML 和 XSL 用于 网页的相应信息。 执行客户端 XSL 转换的常规工作流程如下 (在其它主题对每个步骤分别进行了说明): 1.  设置 Dreamweaver 站点。 2.  创建 XSLT 页面或将 HTML 页面转换为 XSLT。 · 在 Dreamweaver 站点中,创建完整的 XSLT 页面。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   429 使用 XSLT 显示 XML 数据 · 将现有 HTML 页面转换为完整的 XSLT 页面。 3.  将 XML 数据源附加到页面 (如果尚未进行此操作)。 您附加的 XML 文件必须位于与 XSLT 页面相同的目录中。 4.  将 XML 数据绑定到 XSLT 页面。 5.  通过将数据绑定到整个 XSLT 页面来显示 XML 数据。 6.  如果适用,将重复区域 XSLT 对象添加到包含 XML 数据占位符的表格或表格行。 7.  将 XSLT 页面附加到 XML 页面。 8.  将 XML 页面和链接的 XSLT 页面发送到 Web 服务器。 9.  在浏览器中查看 XML 页面。 在执行此操作时,浏览器转换 XML 数据,用 XSLT 页面对 XML 数据进行格式设置,并在浏览器中显示带样式的页面。 更多帮助主题 第 31 页的 “ 设置 Dreamweaver 站点 ” 第 440 页的 “ 选择应用程序服务器 ” 第 430 页的 “ 将 XSLT 页面链接到 XML 页面 ” 第 407 页的 “ 在 Web 页面中使用 XML 和 XSL” 第 409 页的 “ 客户端 XSL 转换 ” 第 408 页的 “ 服务器端 XSL 转换 ” 创建整个 XSLT 页面并显示数据 必须使用整个 XSLT 页面进行客户端转换。(XSLT 片断不适用于这种类型的转换。)遵循以下常规步骤来创建 XML 数据、绑 定 XML 数据和对 XSLT 页进行格式设置以进行客户端转换: 1.  创建 XSLT 页面。 2.  在 XSLT 页面中显示数据。 3.  在 XSLT 页面中显示重复元素。 4.  解决出现的问题。 更多帮助主题 第 414 页的 “ 创建 XSLT 页面 ” 第 415 页的 “ 在 XSLT 页面中显示 XML 数据 ” 第 416 页的 “ 显示重复 XML 元素 ” 第 428 页的 “XSL 转换答疑 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   430 使用 XSLT 显示 XML 数据 将 XSLT 页面链接到 XML 页面 当您拥有带有 XML 数据的动态内容占位符的整个 XSLT 页面后,必须在 XML 页面中插入对 XSLT 页面的引用。 注:用于客户端转换的 XML 和 XSL 文件必须位于同一个目录中。否则,浏览器将读取 XML 文件并查找用于转换的 XSLT 页 面,但无法找到 XSLT 页面中由相对链接定义的资源 (样式表、图像等)。 1   打开要链接到 XSLT 页面的 XML 文件。 2   选择 “ 命令 ”>“ 附加 XSLT 样式表 ”。 3   在对话框中,单击 “ 浏览 ” 按钮,浏览到要链接到的 XSLT 页面,然后选择该页并单击 “ 确定 ”。 4   单击 “ 确定 ” 以关闭对话框,并在 XML 文档的顶端插入对 XSLT 页面的引用。 XSL 转换答疑 如果 XSL 转换无法正常工作,请查看位于 www.adobe.com/go/dw_xsl_faq_cn 的答疑指导。它提供许多常见问题的解答。 缺少的字符实体 指定缺少的字符实体 在 XSLT 中,某些上下文中不允许存在某些字符。例如,您无法在标签之间的文本或属性值中使用小于号 (<) 和 “ 与 ” 号 (&)。如果错误地使用了这些字符, XSLT 转换引擎将指示错误。要解决此问题,您可以指定用于替代特殊字符的字符实体。 字符实体是表示其它字符的字符串。字符实体已被命名或编号。命名的实体以 “ 与 ” 号 (&) 开头,后跟名称或字符,并以分号 (;) 结尾。例如,< 表示左尖括号字符 (<)。除了用井号 (#) 和数字来指定字符之外,编号的实体也以同样的方式开头和结束。 XSLT 具有以下 5 个预定义的实体: 字符 实体代码 < (小于) < & (与) & > (大于) > " (引号) " ‘ (撇号) ' 如果在 XSL 文件中使用其它字符实体,则需要在 XSL 文件的 DTD 部分中定义这些实体。 Dreamweaver 提供了一些默认的 实体定义,在 Dreamweaver 中创建的 XSL 文件的顶部可以看到这些默认的实体定义。这些默认的实体可以让您广泛地选择最 常用的字符。 在浏览器中预览 XSL 文件时, Dreamweaver 会检查 XSL 文件是否有未定义的实体并在发现未定义的实体时通知您。 如果预览附加到 XSLT 文件中的 XML 文件,或者预览具有 XSLT 转换的服务器端页面,则服务器或浏览器 (而不是 Dreamweaver)会通知您发现一个未定义的实体。例如,在请求由缺少实体定义的 XSL 文件转换的 XML 文件时,在 Internet Explorer 中可能会显示以下消息: Reference  to  undefined  entity  'auml'.  Error  processing  resource  'http://localhost/testthis/list.xsl'.  Line 28,  Position  20 <p  class=''test''>ä</p> -------------------^ 要纠正页面中的错误,必须手动为页面添加实体定义。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   431 使用 XSLT 显示 XML 数据 指定缺少的实体定义 1   在位于 www.w3.org/TR/REC-html40/sgml/entities.html 的 W3C Web 站点的字符实体参考页中查看缺少的字符。 此网页包含 HTML 4 和 XHTML 1.0 中允许的 252 个实体。 例如,如果缺少字符实体 Egrave,请在 W3C Web 页上搜索 “Egrave”。您将发现以下项: <!ENTITY  Egrave  CDATA  "È"  --  latin  capital  letter  E  with  grave,  U+00C8  ISOlat1  --> 2   <div class="wordList jsWordList"><a class="word" target="_blank" href="https://office.iask.com/f/1YEF3Jwjko5.html">记录</a><div class="wordList-dialog"><a href="https://office.iask.com/f/1YEF3Jwjko5.html" target="_blank">混凝土 养护记录下载</a><a href="https://office.iask.com/f/2ciuvGusMwd.html" target="_blank">土方回填监理旁站记录免费下载</a><a href="https://ishare.iask.com/f/35WVEfLie0D.html" target="_blank">集备记录下载</a><a href="https://ishare.iask.com/f/34PQUPNql7L.html" target="_blank">集备记录下载</a><a href="https://ishare.iask.com/f/iWjdbUyxnC.html" target="_blank">集备记录下载</a></div></div>该项中的实体名称和实体代码。 在此示例中, Egrave 是实体名称, È 是实体代码。 3   了解此信息后,请切换到 “ 代码 ” 视图中,在 XSL 文件(在 Doctype 声明之后并且具有其它实体标签)的顶部输入以下实 体标签: <!ENTITY  entityname  "entitycode;"> 在此示例中,您需要输入以下实体标签: <!ENTITY  Egrave  "È"> 4   保存您的文件。 如果重复使用相同的字符实体,可能需要在 XSL 文件 (在使用 “ 文件 ”>“ 新建 ” 时,默认情况下, Dreamweaver 会创建此 XSL 文件)中永久添加它们的定义。 向默认情况下 Dreamweaver 创建的 XSL 文件添加实体定义。 1   在 Dreamweaver 应用程序文件夹中查找以下配置文件,然后在任意文本编辑器中打开此文件: Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml 2   查找名为 called mm_xslt_1 的声明: <documenttypedeclaration  id="mm_xslt_1"> 3   如下所示,请在实体标签列表中输入新的实体标签: <!ENTITY  entityname  "entitycode;"> 4   保存文件并重新启动 Dreamweaver。 草稿 上次更新 2010/3/21 第 18 章 : 准备建立动态站点 开始构建动态网页前,必须做一些准备工作,包括设置 Web 应用程序服务器并连接到 Coldfusion、 ASP、和 PHP 应用程序 的数据库。 Adobe® Dreamweaver® CS5 处理数据库连接的方式会根据您的服务器技术而有所不同。 了解 Web 应用程序 关于 Web 应用程序 Web 应用程序是一个包含多个页的网站,这些页的部分内容或全部内容是未确定的。只有当访问者请求 Web 服务器中的某个 页时,才确定该页的最终内容。由于页面最终内容根据访问者操作请求的不同而变化,因此这种页称为动态页。 建立 Web 应用程序就是为了解决多种问题。本节介绍 Web 应用程序的一般用途并给出一个简单的示例。 Web 应用程序的一般用途 对于站点访问者和开发人员而言, Web 应用程序有许多用途,包括以下几方面: · 使访问者可以快速方便地在一个内容丰富的网站上查找信息。 这种 Web 应用程序使访问者能够搜索、组织和浏览所需的内容。示例包括公司的 Intranet、 Microsoft MSDN (www.msdn.microsoft.com) 和 Amazon.com (www.amazon.com)。 · 收集、保存和分析站点访问者提供的数据。 过去,在 HTML 表单中输入的数据以电子邮件的形式发送给员工或 CGI 应用程序进行处理。而 Web 应用程序可以将表单 数据直接保存到数据库,并且可以提取数据并创建基于 Web 的报表以进行分析。典型的示例包括网上银行页、商店结帐 页、调查和用户反馈表单。 · 对内容不断变化的网站进行更新。 Web 应用程序使 Web 设计人员不必再不断更新站点的 HTML。内容提供方 (例如新闻编辑)向 Web 应用程序提供内 容, Web 应用程序将自动更新站点。示例包括 Economist (www.economist.com) 和 CNN (www.cnn.com)。 Web 应用程序示例 Janet 是一名专业的 Web 设计人员,同时也是 Dreamweaver 的长期用户,他负责为一个拥有 1000 名员工的中型公司维护 Intranet 和 Internet 站点。一天,人力资源部的 Chris 来询问 Janet 一个问题。人力资源部正在实施一个员工健身计划,该计 划对员工完成的每英里步行、骑自行车或跑步进行积分。每个员工都必须通过电子邮件将他 / 她每月所完成的总英里数报告给 Chris。月末, Chris 将收集所有电子邮件并根据每个员工的总积分奖励他们少量现金。 Chris 的问题是这个健身计划太成功了。参与这个计划的员工太多,以致于每个月末 Chris 都要被这些电子邮件淹没。 Chris 询问 Janet 是否有基于 Web 的解决<div class="wordList jsWordList"><a class="word" target="_blank" href="https://office.iask.com/f/sJ1vMu0fZUB.html">方案</a><div class="wordList-dialog"><a href="https://office.iask.com/f/sJ1vMu0fZUB.html" target="_blank">气瓶 现场处置方案 .pdf</a><a href="https://office.iask.com/f/sJ1vMu0fZUB.html" target="_blank">气瓶 现场处置方案 .doc</a><a href="https://office.iask.com/f/2WXUWhTiiJ3.html" target="_blank">见习基地管理方案.doc</a><a href="https://office.iask.com/f/2gKr7v23OCV.html" target="_blank">关于群访事件的化解方案</a><a href="https://office.iask.com/f/282PhCXFWzX.html" target="_blank">建筑工地扬尘治理专项方案下载</a></div></div>。 Janet 建议采用一个基于 Intranet 的 Web 应用程序来执行以下任务: · 让员工使用简单的 HTML 表单在 Web 页上输入他们的英里数 · 将员工的英里数存储在数据库中 · 根据英里数数据计算健身积分 · 允许员工跟踪他们每月的进展情况 432 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   433 准备建立动态站点 · 使 Chris 在每个月末只要点击一下就可以访问总积分 Janet 利用 Dreamweaver (其中包含多种快速方便地建立此类应用程序所需的工具)使这个应用程序在午餐时间前便得以 完成并开始运行。 Web 应用程序如何工作 Web 应用程序是一组静态和动态 Web 页的集合。静态 Web 页 是在站点访问者请求它时不会发生更改的页:Web 服务器将 该页发送到请求 Web 浏览器,而不对其进行修改。相反,动态 Web 页 要在经过服务器的修改后才被发送到请求浏览器。页 发生更改的特性便是称其为动态的原因。 例如,您可以设计一个页来显示健身结果,同时让某些信息 (例如员工姓名和结果)在接到特定员工请求时再确定。 下一节将详细描述 Web 应用程序的工作方式。 处理静态 Web 页 静态网站由一组相关的 HTML 页和文件组成,这些页和文件驻留在运行 Web 服务器的计算机上。 Web 服务器是响应来自 Web 浏览器的请求以提供 Web 页的软件。当访问者单击 Web 页上的某个链接、在浏览器中选择一 个书签或在浏览器的地址文本框中输入一个 URL 时,便生成一个页请求。 静态 Web 页的最终内容由 Web 页设计人员确定,当接到请求时,内容不发生更改。这里提供了一个示例: <html> <head> <title>Trio  Motors  Information  Page

      About  Trio  Motors

      Trio  Motors  is  a  leading  automobile  manufacturer.

      将页放置到服务器上之前,页的每一行 HTML 代码均由设计者编写。由于 HTML 在放置到服务器后不发生更改,因此这种 页称为静态页。 注:严格来说, “ 静态 ” 页可能不是完全静态的。例如,一个鼠标经过图像或一个 Flash 内容 (SWF 文件)可以使静态页活动 起来。因此,本文档所说的静态页是在发送到浏览器时不进行修改的页。 当 Web 服务器接收到对静态页的请求时,服务器将读取该请求,查找该页,然后将其发送到请求浏览器,如下例所示: 3 WEB 服务器 响应

      H1 Web 浏览器 2 请求 1 1. Web 浏览器请求静态页面。 2. Web 服务器查找该页面。 3. Web 服务器将该页面发送到请求浏览器。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   434 准备建立动态站点 至于 Web 应用程序,当访问者请求某个页时,代码的某些行尚未确定。必须先由某种机制确定这些行才能将该页发送到浏览 器。这种机制将在下一节中进行讨论。 处理动态页 当 Web 服务器接收到对静态 Web 页的请求时,服务器将该页直接发送到请求浏览器。但是,当 Web 服务器接收到对动态页 的请求时,它将做出不同的反应:它会将该页传递给一个负责完成该页的特殊软件部分。这个特殊软件叫做应用程序服务器。 应用程序服务器读取页上的代码,根据代码中的指令完成页,然后将代码从页上删除。所得的结果将是一个静态页,应用程序 服务器将该页传递回 Web 服务器,然后 Web 服务器将该页发送到请求浏览器。当该页到达时,浏览器得到的全部内容都是纯 HTML。下面是此过程的示意图: WEB 服务器 响应 5

      H1 4 应用程序 服务器 Web 浏览器 1 请求 2 3 1. Web 浏览器请求动态页面。 2. Web 服务器查找该页面并将其传递给应用程序服务器。 3. 应用程序服务器扫描该页面中的指令并完成该页面。 4. 应用 程序服务器将完成的页面传递回 Web 服务器  5. Web 服务器将完成的页面发送到请求浏览器 访问数据库 应用程序服务器使您可以使用服务器端的资源,例如数据库。例如,动态页可以指示应用程序服务器从数据库中提取数据并将 其插入页面的 HTML 中。有关详细信息,请访问 www.adobe.com/go/learn_dw_dbguide_cn。 通过用数据库存储内容可以使 Web 站点的设计与要显示给站点用户的内容分开。不必为每个页面都编写单独的 HTML 文件, 只需为要呈现的不同类型的信息编写一个页面 (或模板)即可。然后可以将内容上传到数据库中,并使 Web 站点检索该内容 来响应用户请求。还可以更新单个源中的信息,然后将该更改传播到整个网站,而不必手动编辑每个页面。您可以使用 Adobe® Dreamweaver® CS5 设计 Web 表单来插入、更新或删除数据库中的数据。 从数据库中提取数据的指令叫做 “ 数据库查询 ”。查询是由名为 SQL (结构化查询语言)的数据库语言所表示的搜索条件组成 的。 SQL 查询将写入到页的服务器端脚本或标签中。 应用程序服务器不能直接与数据库进行通信,因为数据库的专用格式所呈现的数据无法解密,这与在 “ 记事本 ” 或 BBEdit 中 打开的 Microsoft Word 文档无法解密非常类似。应用程序服务器只能通过数据库驱动程序作为媒介才能与数据库进行通信, 数据库驱动程序是在应用程序服务器和数据库之间充当解释器的软件。 在驱动程序建立通信之后,将对数据库执行查询并创建一个记录集。“ 记录集 ” 是从数据库的一个或多个表中提取的一组数据。 记录集将返回给应用程序服务器,应用程序服务器使用该数据完成页面。 下面是一个用 SQL 编写的简单的数据库查询: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   435 准备建立动态站点 SELECT  lastname,  firstname,  fitpoints FROM  employees 该语句将创建一个三列的记录集,并用包含数据库中所有员工的姓、名和健身积分的行填充该记录集。有关详细信息,请访问 www.adobe.com/go/learn_dw_sqlprimer_cn。 下例显示查询数据库并将数据返回到浏览器的过程: WEB 服务器 响应 9

      数据 8 应用程序 7 记录集 数据库 6 Web 浏览器 服务器 驱动程序 数据库 1 请求 查询 4            5 2 3 1. Web 浏览器请求动态页面。 2. Web 服务器查找该页面并将其传递给应用程序服务器。 3. 应用程序服务器扫描该页面中的指令。 4. 应用程序服务器将 查询发送到数据库驱动程序。 5. 驱动程序对数据库执行查询。 6. 记录集返回给驱动程序。 7. 驱动程序将记录集传递给应用程序服务器 8. 应用程序服务器 将数据插入页面中,然后将该页面传递给 Web 服务器  9. Web 服务器将完成的页面发送到请求浏览器。 只要服务器上安装有相应的数据库驱动程序,您几乎可以将任何数据库用于您的 Web 应用程序。 如果您计划建立小型低成本的应用程序,则可以使用基于文件的数据库,例如用 Microsoft Access 创建的数据库。如果您计 划建立稳定的、对业务至关重要的应用程序,则可以使用基于服务器的数据库,例如用 Microsoft SQL Server、Oracle 9i 或 MySQL 创建的数据库。 如果您的数据库位于 Web 服务器之外的系统上,则应确保两个系统间有快速连接,以便您的 Web 应用程序可以快速有效地工 作。 更多帮助主题 数据库初学者指南 创作动态页 创作动态页就是先编写 HTML,然后将服务器端脚本或标签添加到 HTML 中,使该页成为动态页。当您查看结果代码时,语 言将显示为嵌入在页的 HTML 中。因此,这些语言称为 HTML 嵌入式编程语言。以下基本示例使用 ColdFusion 标记语言 (CFML): 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   436 准备建立动态站点 Trio  Motors  Information  Page

      About  Trio  Motors

      Trio  Motors  is  a  leading  automobile  manufacturer.

      Be  sure  to  visit  our  #department#  page.

      此页中嵌入的指令执行以下操作: 1   创建一个名为 department 的变量并为其分配字符串 "Sales"。 2   在 HTML 代码中插入变量的值 "Sales"。 应用程序服务器将以下页返回给 Web 服务器: Trio  Motors  Information  Page

      About  Trio  Motors

      Trio  Motors  is  a  leading  automobile  manufacturer.

      Be  sure  to  visit  our  Sales  page.

      Web 服务器将该页发送到请求浏览器,浏览器将其显示如下: 关于 Trio Motors Trio Motors 是市场领先的汽车制造商。 请务必访问我们的 Sales 页。 根据服务器上可用的服务器技术,选择要使用的脚本撰写语言或基于标记的语言。以下是 Dreamweaver 所支持的服务器技术 最常用的语言: 服务器技术 语言 ColdFusion ColdFusion 标记语言 (CFML) Active Server Pages (ASP) VBScript JavaScript PHP PHP Dreamweaver 可以创建让页面工作所必需的服务器端脚本或标签,您也可以在 Dreamweaver 编码环境中手工编写这些脚本 或标签。 更多帮助主题 第 440 页的 “ 选择应用程序服务器 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   437 准备建立动态站点 Web 应用程序术语 本节定义有关 Web 应用程序的常用术语。 应用程序服务器  一种软件,可帮助 Web 服务器处理包含服务器端脚本或标签的网页。当从服务器请求这样一个页时, Web 服 务器先将该页传递给应用程序服务器进行处理,然后再将该页发送到浏览器。有关详细信息,请参阅第 433 页的 “Web 应用程 序如何工作 ”。 常用应用程序服务器包括 ColdFusion 和 PHP。 数据库  存储在表中的数据的集合。表的每一行组成一条记录,每一列组成记录中的一个域,如下例所示: 字段(列)  记录 (行) 数据库驱动程序  在 Web 应用程序和数据库之间充当解释器的软件。数据库中的数据是以专用格式存储的。数据库驱动程序使 Web 应用程序可以读取和操作本来无法解密的数据。 数据库管理系统 (DBMS 或数据库系统)用于创建和操作数据库的软件。常见的数据库系统包括 Microsoft Access、 Oracle 9i 和 MySQL。 数据库查询  从数据库中提取记录集的操作。查询是由名为 SQL 的数据库语言所表示的搜索条件组成的。例如,查询可以指定 在记录集中只包含某些列或某些记录。 动态页  在发送到浏览器之前由应用程序服务器自定义的网页。 记录集  从数据库中一个或多个表中提取的一组数据,如下例所示: 数据库表 记录集表 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   438 准备建立动态站点 关系型数据库  包含多个表的数据库,这些表共享数据。下面的数据库中有两个表共享 DepartmentID 列,所以是关系型数据 库。 服务器技术  应用程序服务器用来在运行时修改动态页的技术。 Dreamweaver 开发环境支持以下服务器技术: · Adobe® ColdFusion® · Microsoft Active Server Pages (ASP) · PHP: 超文本预处理器 (PHP) 也可以使用 Dreamweaver 编码环境为任何未列出的其它服务器技术开发页。 静态页  在发送到浏览器之前应用程序服务器不进行修改的网页。有关详细信息,请参阅第 433 页的 “ 处理静态 Web 页 ”。 Web 应用程序  一个包含多个页的 Web 站点,这些页的部分内容或全部内容是未确定的。只有当访问者请求 Web 服务器中的 某页时,才确定该页的最终内容。由于页面最终内容根据访问者操作请求的不同而变化,因此这种页称为动态页。 Web 服务器  响应来自 Web 浏览器的请求而发送出网页的软件。当访问者单击浏览器中的 Web 页上的某个链接、在浏览器中 选择一个书签,或在浏览器的地址文本框中输入一个 URL 时,便会生成一个页请求。 常见 Web 服务器包括 Microsoft Internet Information Server (IIS) 和 Apache HTTP Server。 设置计算机以进行应用程序开发 生成 Web 应用程序所需软件 若要在 Adobe® Dreamweaver® CS5 中构建 Web 应用程序,您需要以下软件: · Web 服务器 · 与 Web 服务器配合工作的应用程序服务器 注:在 Web 应用程序环境中, Web 服务器和应用程序服务器这两个术语均指的是软件,而非硬件。 如果想要将数据库与应用程序一起使用,还需要以下软件: · 数据库系统 · 支持您的数据库的数据库驱动程序 有一些网页寄存公司可为您提供服务计划,使您能够利用他们的软件来测试并部署 Web 应用程序。在某些情况下,您可以 出于开发目的在 Dreamweaver 所在的同一台计算机上安装所需的软件。您还可以在网络计算机(通常是 Windows 2000 或 XP 计算机)上安装软件,以使小组中的其他开发人员能够处理项目。 如果您要将数据库与 Web 应用程序一起使用,必须首先连接到该数据库。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   439 准备建立动态站点 更多帮助主题 第 440 页的 “ 设置 ColdFusion 开发环境 ” 第 441 页的 “ 设置 PHP 开发环境 ” 第 441 页的 “ 设置 ASP 开发环境 ” Web 服务器基础 若要开发和测试动态 Web 页,您需要一个正常工作的 Web 服务器。Web 服务器是响应来自 Web 浏览器的请求以提供 Web 页的软件。 Web 服务器有时也叫做 HTTP 服务器。您可以在您的本地计算机上安装和使用 Web 服务器。 如果您是 Macintosh 用户,则可以使用 Macintosh 上已安装的 Apache Web 服务器。 注:Adobe 不为第三方软件 (例如 Microsoft Internet Information Server)提供技术支持。如果您需要关于 Microsoft 产 品的帮助,请与 Microsoft 技术支持联系。 如果您使用 Internet Information Server (IIS) 来开发 Web 应用程序,则 Web 服务器的默认名称是计算机的名称。您可以 通过更改计算机名来更改服务器名称。如果您的计算机没有名称,则服务器使用 “localhost”。 服务器名称对应于服务器的根文件夹,根文件夹 (在 Windows 计算机上)通常是 C:\Inetpub\wwwroot。通过在计算机上 运行的浏览器中输入以下 URL 可以打开存储在根文件夹中的任何 Web 页: http://your_server_name/your_file_name 例如,如果服务器名称是 “mer_noire” 并且 C:\Inetpub\wwwroot\ 中存有名为 “soleil.html” 的 Web 页,则您可以通过在 本地计算机上运行的浏览器中输入以下 URL 打开该页: http://mer_noire/soleil.html 注:请记住,在 URL 中使用正斜杠而不是反斜杠。 您还可以通过在 URL 中指定子文件夹来打开存储在根文件夹的任何子文件夹中的任何 Web 页。例如,假设 soleil.html 文件 存储在名为 “gamelan” 的子文件夹中,如下所示: C:\Inetpub\wwwroot\gamelan\soleil.html 您可以通过在计算机上运行的浏览器中输入以下 URL 打开该页: http://mer_noire/gamelan/soleil.html Web 服务器在计算机上运行时,可以用 localhost 来代替服务器名称:例如,以下两个 URL 在浏览器中打开同一页: http://mer_noire/gamelan/soleil.html http://localhost/gamelan/soleil.html 注:除服务器名称或 localhost 之外,还可以使用另一种表示方式:127.0.0.1 (例如 http://127.0.0.1/gamelan/soleil.html)。 更多帮助主题 第 440 页的 “ 设置 ColdFusion 开发环境 ” 第 441 页的 “ 设置 PHP 开发环境 ” 第 441 页的 “ 设置 ASP 开发环境 ” 选择 Web 服务器 若要开发和测试 Web 应用程序,可以从大量的常用 Web 服务器中选择,包括 Microsoft Internet Information Server (IIS) 和 Apache HTTP Server。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   440 准备建立动态站点 如果您没有使用虚拟主机服务,请选择一个 Web 服务器并在您的本地计算机上安装它以用于开发目的。需要开发 ColdFusion Web 应用程序的 Windows 和 Macintosh 用户可以使用 ColdFusion 8 应用程序服务器的开发人员版本(您可 以免费安装和使用)中包含的 Web 服务器。 其他 Windows 用户可以通过安装 IIS 在其本地计算机上运行 Web 服务器。该 Web 服务器可能已安装在系统上。请检查文件 夹结构中是否包含一个 C:\Inetpub 或 D:\Inetpub 文件夹。 IIS 在安装过程中将创建该文件夹。 Mac OS 用户可以使用与操作系统一起安装的本地 Apache Web 服务器。 有关安装和配置其它 Web 服务器的信息,请参阅服务器供应商提供的文档或咨询您的系统管理员。 选择应用程序服务器 应用程序服务器是一种软件,用来帮助 Web 服务器处理动态页。选择应用程序服务器时,您应该考虑多种因素,包括预算、 要使用的服务器技术 (ColdFusion、 ASP 或 PHP)以及 Web 服务器的类型。 预算  某些供应商出售价格和管理成本都很高的高端应用程序服务器。其他供应商提供了更加简便、更加经济高效的解决方案 (例如 ColdFusion)。某些应用程序服务器内置在 Web 服务器中(例如 Microsoft IIS),而其它一些应用程序服务器可以从 Internet 上免费下载 (例如 PHP)。 服务器技术  应用程序服务器使用不同的技术。Dreamweaver 支持三种服务器技术:ColdFusion、ASP 和 PHP。下表列出了 可用于 Dreamweaver 支持的服务器技术的常见应用程序服务器: 服务器技术 应用程序服务器 ColdFusion Adobe ColdFusion 8 ASP Microsoft IIS PHP PHP 服务器 若要了解有关 ColdFusion 的详细信息,请从 “ 帮助 ” 菜单中选择 “ColdFusion 帮助 ” HYPERLINK "http://msdn.microsoft.com/library/default.asp?url=/library/zh-cn/dnanchor/html/activeservpages.asp" 。 若要了解有关 ASP 的详细信息,请访问 Microsoft 网站,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/zh-cn/dnanchor/html/activeservpages.asp。 要了解有关 PHP 的更多信息,请访问 PHP 网站,网址为 www.php.net/。 选择数据库 根据必须存储的数据的数量和复杂性,数据库可以有多种形式。在选择数据库时,您应考虑几个因素,包括您的预算和您预计 将访问该数据库的用户数。 预算  某些供应商提供的高端应用程序数据库服务器的价格和管理成本都很高。其他一些供应商提供了更加简便、更加经济高效 的解决方案,例如 Microsoft Access 或开源数据库 MySQL。 用户  如果预计访问该站点的用户群体会比较大,请选择专为支持这种站点而设计的数据库,以满足预期用户数的访问要求。如 果网站要求在进行数据建模时具备更大的灵活性,并且要求能够支持大型并发用户群体,则应考虑包括 Microsoft SQL Server 和 Oracle 在内的基于服务器的关系数据库 (通常称作 RDBMS)。 设置 ColdFusion 开发环境 有关为 Windows 或 Mac 计算机上的 Dreamweaver 设置 ColdFusion 开发环境的详细说明,请访问 Adobe 网站,网址为 www.adobe.com/go/learn_dw_cfsetup_cn。 Windows 和 Macintosh 用户可以从 Adobe 网站下载并安装免费的 ColdFusion 应用程序服务器的全功能开发人员版本,网 址:www.adobe.com/go/coldfusion_cn/。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   441 准备建立动态站点 注:开发人员版本面向非商业用途的 Web 应用程序开发和测试。此版本没有授权部署。它支持来自本地主机和两个远程 IP 地 址的请求。可以在需要时使用它来开发和测试 Web 应用程序,且软件不会过期。有关详细信息,请参阅 ColdFusion 帮助 (“ 帮助 ”>“ColdFusion 帮助 ”)。 安装过程中,您可以配置 ColdFusion 以使用内置于 ColdFusion 的 Web 服务器或系统中安装的其它 Web 服务器。一般来 说,最好使您的开发环境与生产环境匹配。因此,如果您的开发计算机上已存在一个 Web 服务器 (如 Microsoft IIS),则最 好使用该服务器而不是使用内置的 ColdFusion Web 服务器。 设置 PHP 开发环境 有关为 Windows 或 Mac 计算机上的 Dreamweaver 设置 PHP 开发环境的详细说明,请访问 Adobe 网站,网址为 www.adobe.com/go/learn_dw_phpsetup_cn。 PHP 应用程序服务器分为针对 Windows、Linux、UNIX、HP-UX、Solaris 和 Mac OS X 系统的不同版本。有关应用程序 服务器的详细信息,请参阅 PHP 文档,您也可以从 PHP 网站 (网址为 www.php.net/download-docs.php)下载该文档。 设置 ASP 开发环境 有关为 Windows 或 Mac 计算机上的 Dreamweaver 设置 ASP 开发环境的详细说明,请访问 Adobe 网站,网址为 www.adobe.com/go/learn_dw_aspsetup_cn。 若要运行 ASP 页面,您需要支持 Microsoft Active Server Pages 2.0 的应用程序服务器,如 Microsoft IIS (Internet 信息 服务),它随 Windows 2000 和 Windows XP Professional 一起提供。Windows XP Professional 用户可以在其本地计算机 上安装并运行 IIS。 Macintosh 用户可以将虚拟主机服务与 ASP 计划一起使用或在远程计算机上安装 IIS。 为应用程序创建根文件夹 在向虚拟主机服务公司注册或自己设置服务器软件之后,请在运行该 Web 服务器的计算机上为 Web 应用程序创建一个根文件 夹。根文件夹可以是本地的也可以是远程的,取决于您的 Web 服务器正在哪里运行。 Web 服务器将根据来自 Web 浏览器的 HTTP 请求提供此文件夹或其子文件夹中的任何文件。例如,在运行 ColdFusion 8 的计算机上,可以将 \ColdFusion8\wwwroot 文件夹或其任何子文件夹中的任何文件提供给 Web 浏览器。 以下是所选 Web 服务器的默认根文件夹: Web 服务器 默认根文件夹 ColdFusion 8 \ColdFusion8\wwwroot IIS \Inetpub\wwwroot Apache (Windows) \apache\htdocs Apache (Macintosh) Users:MyUserName:Sites 若要测试 Web 服务器,请将一个测试 HTML 页置于默认根文件夹中,然后尝试在浏览器中输入该页的 URL 来打开该页。 URL 由域名和 HTML 页的文件名组成,如下所示:www.example.com/testpage.htm。 如果该 Web 服务器运行在本地计算机上,则可以使用 localhost 代替域名。输入与您的 Web 服务器相匹配的以下本地主机 URL 之一: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   442 准备建立动态站点 Web 服务器 本地主机 URL ColdFusion 8 http://localhost:8500/testpage.htm IIS http://localhost/testpage.htm Apache (Windows) http://localhost:80/testpage.htm Apache (Macintosh) http://localhost/~MyUserName/testpage.htm (其中 MyUserName 是您的 Macintosh 用户名) 注:默认情况下, ColdFusion Web 服务器在端口 8500 上运行, Windows 的 Apache Web 服务器在端口 80 上运行。 如果该页未按照预期打开,则检查是否存在以下错误: · 未启动 Web 服务器。参考 Web 服务器的文档以了解如何启动它。 · 文件不具有 .htm 或 .html 扩展名。 · 您在浏览器的地址文本框中输入了该页的文件路径 (例如, c:\ColdFusion8\wwwroot\testpage.htm),而不是它的 URL (例如, http://localhost:8500/testpage.htm)。 · URL 中包含键入错误。检查是否存在错误并确保文件名后没有斜杠,例如 http://localhost:8080/testpage.htm/。 为应用程序创建根文件夹后,定义一个 Dreamweaver 站点管理您的文件。 更多帮助主题 第 439 页的 “Web 服务器基础 ” 第 31 页的 “ 设置 Dreamweaver 站点 ” 关于定义 Dreamweaver 站点 在配置了用来开发 Web 应用程序的系统后,定义 Dreamweaver 站点以管理您的文件。 在您开始前,确保您满足以下要求: · 您具有访问 Web 服务器的权限。 Web 服务器可以在您的本地计算机上运行,在像开发服务器这样的远程计算机上运行, 或者在网页寄存公司维护的服务器上运行。 · 应用程序服务器安装并运行在运行您的 Web 服务器的系统上。 · 您已在运行 Web 服务器的系统上为 Web 应用程序创建了根文件夹。 为 Web 应用程序定义 Dreamweaver 站点需执行以下三步: 1. 定义本地文件夹 本地文件夹是您在硬盘上用来存储站点文件的工作副本的文件夹。您可为您创建的每个新 Web 应用程序定义一个本地文件夹。 定义本地文件夹还会使您能够轻松管理文件并将文件传输至 Web 服务器和从 Web 服务器接收文件。 2. 定义远程文件夹 将运行 Web 服务器的计算机上的文件夹定义为 Dreamweaver 远程文件夹。远程文件夹是您为 Web 应用程序在 Web 服务器 上创建的文件夹。 3. 定义测试文件夹 在您工作时 ,Dreamweaver 使用此文件夹生成和显示动态内容并连接到数据库。测试服务器可以是本地计算机、开发服务器、 中间服务器或生产服务器。只要测试服务器可以处理您计划开发的动态页类型即可 , 具体选择哪个服务器无关紧要。 定义了 Dreamweaver 站点后,您就可以开始生成 Web 应用程序了。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   443 准备建立动态站点 更多帮助主题 第 31 页的 “ 设置 Dreamweaver 站点 ” ColdFusion 开发人员的数据库连接 连接到 ColdFusion 数据库 在 Dreamweaver 中开发 ColdFusion Web 应用程序时,通过选择在 Dreamweaver 或 “ColdFusion 管理员 ”(服务器的管 理控制台)中定义的 ColdFusion 数据源,可以连接到数据库。 连接到数据库之前,您必须设置 ColdFusion Web 应用程序。还必须在您的本地计算机 (或对其具有网络或 FTP 访问权的系 统)上设置数据库。 确保 Dreamweaver 知道到哪里查找 ColdFusion 数据源。为了在设计时检索 ColdFusion 数据源,Dreamweaver 会将脚本 放在运行 ColdFusion 的计算机上的一个文件夹中。您必须在 “ 站点定义 ” 对话框的 “ 测试服务器 ” 类别中指定该文件夹。 接着,您必须在 Dreamweaver 或 “ColdFusion 管理员 ” 中创建 ColdFusion 数据源 (如果尚不存在数据源)。创建 ColdFusion 数据源后,可以在 Dreamweaver 中使用它来连接到数据库。 创建或修改 ColdFusion 数据源 在页面中使用数据库信息之前,您必须创建一个 ColdFusion 数据源。如果您运行的是 ColdFusion MX 7 或更高版本,您可 直接在 Dreamweaver 中创建或修改数据源。如果您运行的是 ColdFusion MX,则必须使用 “ColdFusion MX 管理员 ”(服 务器的管理控制台)创建或修改数据源。在这种情况下,您仍可使用 Dreamweaver 打开 “ColdFusion MX 管理员 ”。 更多帮助主题 第 38 页的 “ 设置测试服务器 ” 第 558 页的 “ 启用 ColdFusion 增强功能 ” 在运行 ColdFusion MX 7 或更高版本时创建或修改 ColdFusion 数据源 1   确保运行 ColdFusion MX 7 或更高版本的计算机被定义为站点的测试服务器。 2   在 Dreamweaver 中打开任意 ColdFusion 页。 3   若要创建一个新的数据源,请单击 “ 数据库 ” 面板(“ 窗口 ”>“ 数据库 ”)中的加号 (+) 按钮,并输入特定于数据库驱动程序的 参数值。 注:只有在您运行 ColdFusion MX 7 或更高版本时, Dreamweaver 才会显示加号 (+) 按钮。 4   若要修改数据源,请双击 “ 数据库 ” 面板中的数据库连接并进行更改。 除数据源名称外,您可对任何参数进行编辑。有关详细信息,请参阅驱动程序供应商提供的文档或咨询您的系统管理员。 在运行 ColdFusion MX 6.1 或 6.0 时创建或修改 ColdFusion 数据源 1   在 Dreamweaver 中打开任意 ColdFusion 页。 2   在 Dreamweaver 的 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)中,单击面板工具栏中的 “ 修改数据源 ”。 3   登录到 “ColdFusion MX 管理员 ” 并创建或修改数据源。 有关说明,请参阅 ColdFusion 帮助 (“ 帮助 ”>“ColdFusion 帮助 ”)。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   444 准备建立动态站点 您必须提供某些特定的参数值才能创建 ColdFusion 数据源。有关特定于您的数据库驱动程序的参数值,请参阅驱动程序供应 商提供的文档或咨询您的系统管理员。 创建 ColdFusion 数据源后,即可在 Dreamweaver 中使用它。 在 Dreamweaver 中连接到数据库 创建 ColdFusion 数据源后,可以在 Dreamweaver 中使用它连接到数据库。 在 Dreamweaver 中打开任意 ColdFusion 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。您的 ColdFusion 数据源 会出现在该面板中。 如果数据源没有出现,请完成面板中的核对表。确保 Dreamweaver 知道到哪里查找 ColdFusion 数据源。在 “ 站点定义 ” 对 话框的 “ 测试服务器 ” 类别中,指定运行 ColdFusion 的计算机上的站点根文件夹。 更多帮助主题 第 451 页的 “ 数据库连接答疑 ” ASP 开发人员的数据库连接 关于 ASP 数据库连接 ASP 应用程序必须通过开放式数据库连接 (ODBC) 驱动程序(或对象链接)和嵌入式数据库 (OLE DB) 提供程序连接到数据 库。该驱动程序或提供程序用作解释器,能够使 Web 应用程序与数据库进行通信。下表显示了一些可以与 Microsoft Access、 Microsoft SQL Server 和 Oracle 数据库一起使用的驱动程序: 数据库 数据库驱动程序 Microsoft Access Microsoft Access 驱动程序 (ODBC) 用于 Access 的 Microsoft Jet 提供程序 (OLE DB) Microsoft SQL Server Microsoft SQL Server 驱动程序 (ODBC) Microsoft SQL Server 提供程序 (OLE DB) Oracle Microsoft Oracle 驱动程序 (ODBC) Oracle Provider for OLE DB 您可以使用数据源名称 (DSN) 或连接字符串连接到数据库。如果您正在通过未安装在 Windows 系统上的 OLE DB 提供程序 或 ODBC 驱动程序进行连接,则必须使用连接字符串。 DSN 是单个词的标识符 (如 myConnection),它指向数据库并包含连接到该数据库所需的全部信息。您可以在 Windows 中定义 DSN。如果您正在通过安装在 Windows 系统上的 ODBC 驱动程序进行连接,则可以使用 DSN。 连接字符串是手动编码的表达式,它会标识数据库并列出连接到该数据库所需的信息,如下例所示: Driver={SQL  Server};Server=Socrates;Database=AcmeMktg; UID=wiley;PWD=roadrunner 注:如果您正在通过安装在 Windows 系统上的 ODBC 驱动程序建立连接,也可以使用连接字符串,但使用 DSN 要简单 一些。 更多帮助主题 第 434 页的 “ 访问数据库 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   445 准备建立动态站点 关于 OLE DB 连接 您可以使用 OLE DB 提供程序与数据库进行通信 (OLE DB 仅在 Windows NT、 2000 或 XP 上可用)。通过创建直接的数 据库特定的 OLE DB 连接,可以消除 Web 应用程序和数据库之间的 ODBC 层,从而提高连接的速度。 如果没有为数据库指定 OLE DB 提供程序, ASP 会使用 ODBC 驱动程序的默认 OLE DB 提供程序与 ODBC 驱动程序进行 通信,而后者又与数据库进行通信。 对于不同的数据库存在不同的 OLE DB 提供程序。您可以通过下载 Microsoft Data Access Components (MDAC) 2.5 和 2.7 软件包并将其安装在运行 IIS 的 Windows 计算机上来获取用于 Microsoft Access 和 SQL Server 的 OLE DB 提供程序。 您可以从 Microsoft 网站 (网址为 http://msdn.microsoft.com/data/mdac/downloads/)免费下载 MDAC 软件包。 注: HYPERLINK "http://www.oracle.com/technology/software/tech/windows/ole_db/index.html" 安装 MDAC 2.7 之前应确保 MDAC 2.5 已安装。 用于 Oracle 数据库的 OLE DB 提供程序可以从 Oracle 网站下载,网址为 www.oracle.com/technology/software/tech/windows/ole_db/index.html (需要注册)。 在 Dreamweaver 中,可以通过在连接字符串中包含 Provider 参数来创建 OLE DB 连接。例如,下面分别是 Access、 SQL Server 和 Oracle 数据库的常用 OLE DB 提供程序的参数: Provider=Microsoft.Jet.OLEDB.4.0;.. Provider=SQLOLEDB;... Provider=OraOLEDB;... 有关您的 OLE DB 提供程序的参数值,请参阅提供程序供应商提供的文档或咨询您的系统管理员。 关于连接字符串 连接字符串包含 Web 应用程序连接到数据库所需的全部信息。 Dreamweaver 在页的服务器端脚本中插入该字符串,以便应 用程序服务器随后进行处理。 对于 Microsoft Access 和 SQL Server 数据库,连接字符串包含由分号分隔的以下参数: Provider  指定数据库的 OLE DB 提供程序。例如,下面分别是 Access、SQL Server 和 Oracle 数据库的常用 OLE DB 提供 程序的参数: Provider=Microsoft.Jet.OLEDB.4.0;.. Provider=SQLOLEDB;... Provider=OraOLEDB;... 有关您的 OLE DB 提供程序的参数值,请参阅提供程序供应商提供的文档或咨询您的系统管理员。 如果没有包含 “Provider” 参数,则将使用 ODBC 的默认 OLE DB 提供程序,而且您必须为数据库指定适当的 ODBC 驱动程 序。 Driver  指定在没有为数据库指定 OLE DB 提供程序时所使用的 ODBC 驱动程序。 Server  指定承载 SQL Server 数据库的服务器 (如果您的 Web 应用程序在其它服务器上运行)。 数据库 SQL Server 数据库的名称。 DBQ  指向基于文件的数据库 (如在 Microsoft Access 中创建的数据库)的路径。该路径是在承载数据库文件的服务器上的 路径。 UID  指定用户名。 PWD  指定用户密码。 DSN  数据源名称 (如果使用)。根据您在服务器上定义 DSN 的方式,可以省略连接字符串的其它参数。例如,如果在创建 DSN 时定义其它参数,则 DSN=Results 可以作为有效的连接字符串。 对于其它类型的数据库,连接字符串可能不使用上面列出的参数,或者可能对于这些参数有不同的名称或用途。有关详细信 息,请参阅数据库供应商提供的文档,或咨询您的系统管理员。 下面是一个连接字符串示例,它将创建与名为 trees.mdb 的 Access 数据库的 ODBC 连接: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   446 准备建立动态站点 Driver={Microsoft  Access  Driver  (*.mdb)}; DBQ=C:\Inetpub\wwwroot\Research\trees.mdb 下面是一个连接字符串示例,它将创建与位于 Gojira 服务器上名为 Mothra 的 SQL Server 数据库的 OLE DB 连接: Provider=SQLOLEDB;Server=Gojira;Database=Mothra;UID=jsmith; PWD=orlando8 使用本地 DSN 创建连接 注:本节假定您已设置 ASP 应用程序。它还假定您已经在本地计算机 (或在对其具有网络或 FTP 访问权的系统)上设置了数 据库。 您可以使用数据源名称 (DSN) 在 Web 应用程序和数据库之间建立 ODBC 连接。DSN 是一种名称,它包含使用 ODBC 驱动 程序连接到指定数据库所需的全部参数。 由于在 DSN 中只能指定 ODBC 驱动程序,因此如果要使用 OLE DB 提供程序,就必须使用连接字符串。 可以使用本地定义的 DSN 在 Dreamweaver 中创建数据库连接。 1   在运行 Dreamweaver 的 Windows 计算机上定义一个 DSN。 有关指导,请参阅 Microsoft 网站上的下列文章: · 如果计算机运行 Windows 2000,请参阅 Microsoft 知识库文章 300596,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;300596 · 如果计算机运行 Windows XP,请参阅 Microsoft 知识库文章 305599,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;305599 2   在 Dreamweaver 中打开一个 ASP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 3   单击该面板上的加号 (+) 按钮,然后从菜单中选择 “ 数据源名称 (DSN)”。 4   为新连接输入名称,不要使用空格或特殊字符。 5   选择 “ 使用本地 DSN” 选项并从 “ 数据源名称 (DSN)” 菜单中选择要使用的 DSN。 如果要使用本地 DSN 但未定义本地 DSN,请单击 “ 定义 ” 打开 Windows ODBC 数据源管理器。 6   完成 “ 用户名 ” 和 “ 密码 ” 框。 7   请单击 “ 高级 ” 并输入架构或目录名称,以限制 Dreamweaver 在设计时所检索的数据库项数。 注:在 Microsoft Access 中不能创建架构或目录。 8   单击 “ 测试 ” 连接到数据库,然后单击 “ 确定 ”。如果连接失败,请仔细检查连接字符串或检查 Dreamweaver 用来处理动态 页的测试文件夹的设置。 更多帮助主题 第 458 页的 “ 限制显示在 Dreamweaver 中的数据库信息 ” 第 438 页的 “ 设置计算机以进行应用程序开发 ” 第 451 页的 “ 数据库连接答疑 ” 使用远程 DSN 创建连接 注:本节假定您已设置 ASP 应用程序。它还假定您已经在本地计算机 (或在对其具有网络或 FTP 访问权的系统)上设置了数 据库。 注:Dreamweaver 可以只检索用 Windows ODBC 数据源管理器创建的服务器 DSN。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   447 准备建立动态站点 您可以使用在远程计算机上定义的 DSN 在 Dreamweaver 中创建数据库连接。如果要使用远程 DSN,则必须在运行应用程序 服务器 (可能是 IIS)的 Windows 计算机上定义该 DSN。 注:由于在 DSN 中只能指定 ODBC 驱动程序,因此如果要使用 OLE DB 提供程序,就必须使用连接字符串。 1   在运行应用程序服务器的远程系统上定义一个 DSN。 有关指导,请参阅 Microsoft 网站上的下列文章: · 如果远程计算机运行 Windows 2000,请参阅 Microsoft 知识库文章 300596,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;300596 · 如果远程计算机运行 Windows XP,请参阅 Microsoft 知识库文章 305599,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;305599 2   在 Dreamweaver 中打开一个 ASP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 3   单击该面板上的加号 (+) 按钮,然后从菜单中选择 “ 数据源名称 (DSN)”。 4   为新连接输入名称,不要使用空格或特殊字符。 5   选择 “ 使用测试服务器上的 DSN”。 注:Macintosh 用户可以忽略此步骤,因为所有数据库连接均使用应用程序服务器上的 DSN。 6   输入 DSN 或单击 “DSN” 按钮连接至服务器,选择所需数据库的 DSN,然后完成各个选项。 7   完成 “ 用户名 ” 和 “ 密码 ” 框。 8   请单击 “ 高级 ” 并输入架构或目录名称,以限制 Dreamweaver 在设计时所检索的数据库项数。 注:在 Microsoft Access 中不能创建架构或目录。 9   单击 “ 测试 ” 连接到数据库,然后单击 “ 确定 ”。如果连接失败,请仔细检查连接字符串或检查 Dreamweaver 用来处理动态 页的测试文件夹的设置。 更多帮助主题 第 438 页的 “ 设置计算机以进行应用程序开发 ” 第 458 页的 “ 限制显示在 Dreamweaver 中的数据库信息 ” 第 451 页的 “ 数据库连接答疑 ” 使用连接字符串创建连接 您可以使用非 DSN 连接在 Web 应用程序和数据库之间创建 ODBC 或 OLE DB 连接。您将使用连接字符串来创建这类连接。 1   在 Dreamweaver 中打开一个 ASP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 2   单击面板上的加号 (+) 按钮,然后从菜单中选择 “ 自定义连接字符串 ”,完成各个选项并单击 “ 确定 ”。 3   为新连接输入名称,不要使用空格或特殊字符。 4   输入用于连接到数据库的连接字符串。如果没有在连接字符串中指定 OLE DB 提供程序 (即,没有包含 Provider 参数), ASP 将自动使用用于 ODBC 驱动程序的 OLE DB 提供程序。这种情况下,必须为数据库指定适当的 ODBC 驱动程序。 如果您的站点由 ISP 托管,而您不知道数据库的完整路径,请在连接字符串中使用 ASP 服务器对象的 MapPath 方法。 5   如果在连接字符串中指定的数据库驱动程序没有与 Dreamweaver 安装在同一台计算机上,请选择 “ 使用测试服务器上的驱 动程序 ”。 注:Macintosh 用户可以忽略此步骤,因为所有数据库连接均使用应用程序服务器。 6   请单击 “ 高级 ” 并输入架构或目录名称,以限制 Dreamweaver 在设计时所检索的数据库项数。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   448 准备建立动态站点 注:在 Microsoft Access 中不能创建架构或目录。 7   单击 “ 测试 ” 连接到数据库,然后单击 “ 确定 ”。如果连接失败,请仔细检查连接字符串或检查 Dreamweaver 用来处理动态 页的测试文件夹的设置。 更多帮助主题 第 443 页的 “ 连接到 ColdFusion 数据库 ” 第 458 页的 “ 限制显示在 Dreamweaver 中的数据库信息 ” 第 451 页的 “ 数据库连接答疑 ” 连接到 ISP 上的数据库 如果您是通过商业 Internet 服务提供商 (ISP) 来工作的 ASP 开发人员,则通常不知道您上传的文件 (包括数据库文件)的物 理路径。 如果您的 ISP 没有为您定义 DSN 或者迟迟没有这样做,则必须找到另外一种方法来创建与数据库文件的连接。一种替代方法 是创建与数据库文件的非 DSN 连接,但只有在知道数据库文件在 ISP 服务器上的物理路径时,才能定义这样的连接。 可以使用 ASP 服务器对象上的 MapPath 方法获取数据库文件在服务器上的物理路径。 注:只有当您的数据库基于文件 (如 Microsoft Access 数据库,它将数据存储在 .mdb 文件中)时,本节讨论的方法才适用。 了解物理和虚拟路径 使用 Dreamweaver 将文件上传到远程服务器后,这些文件驻留在服务器本地目录树中的某个文件夹中。例如,在运行 Microsoft IIS 的服务器上,主页的路径可能如下所示: c:\Inetpub\wwwroot\accounts\users\jsmith\index.htm 此路径通常称为文件的物理路径。 但是,用来打开文件的 URL 并不使用物理路径。它使用服务器名称或域名,后接虚拟路径,如下例所示: www.plutoserve.com/jsmith/index.htm 虚拟路径 /jsmith/index.htm 代替了物理路径 c:\Inetpub\wwwroot\accounts\users\jsmith\index.htm。 用虚拟路径查找文件的物理路径 如果您通过 ISP 来工作,则通常不知道您上传的文件的物理路径。 ISP 通常会为您提供一个 FTP 主机 (可能是主机目录)以 及一个登录名和密码。 ISP 还指定一个 URL,用于在 Internet 上查看您的 Web 页,如 www.plutoserve.com/jsmith/。 如果您知道该 URL,就可以获取该文件的虚拟路径 – 即 URL 中服务器名称或域名后的路径。只要知道虚拟路径便可使用 MapPath 方法获取文件在服务器上的物理路径。 MapPath 方法采用虚拟路径为参数,并返回文件的物理路径和文件名。该方法的语法如下: Server.MapPath("/virtualpath") 假定文件的虚拟路径是 /jsmith/index.htm,那么以下表达式将返回它的物理路径: Server.MapPath("/jsmith/index.htm") 您可以用 MapPath 方法进行如下试验。 1   在 Dreamweaver 中打开一个 ASP 页并切换到 “ 代码 ” 视图 (“ 视图 ”>“ 代码 ”)。 2   在该页的 HTML 代码中输入以下表达式。 <%Response.Write(stringvariable)%> 3   使用 MapPath 方法获取 stringvariable 参数的值。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   449 准备建立动态站点 这里提供了一个示例: <%  Response.Write(Server.MapPath("/jsmith/index.htm"))  %> 4   切换到 “ 实时 ” 视图 (“ 查看 ”>“ 实时视图 ”)以查看页面。 该页显示文件在应用程序服务器上的物理路径,例如: c:\Inetpub\wwwroot\accounts\users\jsmith\index.htm 有关 MapPath 方法的详细信息,请参阅 Microsoft IIS 附带的联机文档。 使用虚拟路径连接到数据库 若要将非 DSN 连接字符串写入位于远程服务器上的数据库文件,您必须知道该文件的物理路径。以下是一个用于 Microsoft Access 数据库的典型非 DSN 连接字符串示例: Driver={Microsoft  Access  Driver  (*.mdb)}; DBQ=c:\Inetpub\wwwroot\accounts\users\jsmith\data\statistics.mdb 如果您不知道文件在远程服务器上的物理路径,则可以通过在连接字符串中使用 MapPath 方法来获取该路径。 1   将数据库文件上传到远程服务器并记下其虚拟路径,例如 /jsmith/data/statistics.mdb。 2   在 Dreamweaver 中打开一个 ASP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 3   单击面板上的加号 (+) 按钮,然后从菜单中选择 “ 自定义连接字符串 ”。 4   为新连接输入名称,不要使用空格或特殊字符。 5   输入连接字符串并使用 MapPath 方法提供 DBQ 参数。 假定 Microsoft Access 数据库的虚拟路径为 /jsmith/data/statistics.mdb ;如果使用 VBScript 作为脚本撰写语言,连接字 符串可表示如下: "Driver={Microsoft  Access  Driver  (*.mdb)};DBQ="  &  Server.MapPath¬ ("/jsmith/data/statistics.mdb") & 符号用于串联 (组合)两个字符串。第一个字符串用引号引起来,第二个字符串是由 Server.MapPath 表达式返回的。当两个 字符串组合起来时,将创建以下字符串: Driver={Microsoft  Access  Driver  (*.mdb)}; DBQ=C:\Inetpub\wwwroot\accounts\users\jsmith\data\statistics.mdb 如果使用 JavaScript,表达式将基本相同,只是要使用加号 (+) 而不是 & 号来串联两个字符串: "Driver={Microsoft  Access  Driver  (*.mdb)};DBQ="  +  Server.MapPath¬ ("/jsmith/data/statistics.mdb") 6   选择 “ 使用测试服务器上的驱动程序 ”,单击 “ 测试 ”,然后单击 “ 确定 ”。 注:Macintosh 用户可以忽略此步骤,因为所有数据库连接均使用应用程序服务器。 注:如果连接失败,请重新检查连接字符串或与您的 ISP 联系,确保远程服务器上已经安装了您在连接字符串中指定的数据库 驱动程序。另外还需要检查 ISP 是否具有该驱动程序的最新版本。例如,在 Microsoft Access 2000 中创建的数据库将无法与 Microsoft Access Driver 3.5 一起工作。您需要 Microsoft Access 驱动程序 4.0 或更高版本。 7   更新现有动态页的数据库连接(在 Dreamweaver 中打开该页,在 “ 绑定 ” 面板或 “ 服务器行为 ” 面板中双击记录集名称,然 后从 “ 连接 ” 菜单中选择您刚创建的连接),并将新连接用于您生成的任何新页面。 编辑或删除数据库连接 当您创建数据库连接后, Dreamweaver 会将连接信息存储在站点本地根文件夹下的 “Connections” 子文件夹中的一个包含 文件中。您可以手动编辑或删除文件中的连接信息,或者执行以下操作。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   450 准备建立动态站点 编辑连接 1   在 Dreamweaver 中打开任何一个 ASP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 2   右键单击 (Windows) 或按住 Control 并单击 (Macintosh) 该连接,然后从菜单中选择 “ 编辑连接 ”。 3   编辑连接信息并单击 “ 确定 ”。 Dreamweaver 会更新该包含文件,这将更新该站点中使用此连接的所有页。 删除连接 1   在 Dreamweaver 中打开任何一个 ASP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 2   右键单击 (Windows) 或按住 Control 并单击 (Macintosh) 该连接,然后从菜单中选择 “ 删除连接 ”。 3   在显示的对话框中,确认您要删除该连接。 注:若要避免在删除连接后出错,请在 “ 绑定 ” 面板中双击记录集的名称并选择一个新连接,以更新所有使用旧连接的记录集。 适用于 PHP 开发人员的数据库连接 关于 PHP 数据库连接 对于 PHP 开发, Dreamweaver 仅支持 MySQL 数据库系统。不支持其它数据库系统,如 Microsoft Access 或 Oracle。 MySQL 是可以从 Internet 免费下载并进行非商业应用的开放源码软件。有关详细信息,请参阅 MySQL 网站,网址为 http://dev.mysql.com/downloads/。 本节假定您已设置 PHP 应用程序。还假定已在本地计算机或对其具有网络或 FTP 访问权的系统上设置了 MySQL 数据库。 为了开发,请下载并安装 MySQL 数据库服务器的 Windows Essentials 版本。 更多帮助主题 第 441 页的 “ 设置 PHP 开发环境 ” 连接到数据库 若要在 Dreamweaver 中开发 PHP 应用程序时连接到数据库,必须具有一个或多个 MySQL 数据库并且必须启动 MySQL 服 务器。 1   在 Dreamweaver 中打开任何一个 PHP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 2   单击面板上的加号 (+) 按钮,然后从菜单中选择 “MySQL 连接 ” 并完成对话框。 · 为新连接输入名称,不要使用空格或特殊字符。 · 在 “MySQL 服务器 ” 框中,输入承载 MySQL 的计算机的 IP 地址或服务器名称。如果 MySQL 与 PHP 运行在同一台计算 机上,则可输入 localhost。 · 输入您的 MySQL 用户名和密码。 · 在 “ 数据库 ” 框中输入数据库名称,或者单击 “ 选择 ” 并从 MySQL 数据库列表中选择数据库,然后单击 “ 测试 ”。 Dreamweaver 尝试连接到数据库。如果连接失败,请复查服务器名称、用户名和密码。如果连接仍然失败,请检查 Dreamweaver 用来处理动态页的测试文件夹的设置。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   451 准备建立动态站点 Dreamweaver 在自动填充 “ 站点定义 ” 对话框的 “ 测试服务器 ” 类别中的 URL 前缀值时进行了最佳猜测,但有时您必须调 整 URL 前缀才能使连接运行。确保 URL 前缀是用户在其浏览器中键入以打开 Web 应用程序的 URL 除去该应用程序的文件名 (或起始页)。 3   单击 “ 确定 ”。 注:在测试与 MySQL 4.1 的 PHP 数据库连接时,如果遇到错误消息 “ 客户端不支持请求的验证协议。当测试与 MySQL 4.1 的 PHP 数据库连接时,应考虑升级 MySQL 客户端。请参阅 第 455 页的 “MySQL 错误信息答疑 ”。 编辑或删除数据库连接 当您创建数据库连接后, Dreamweaver 会将连接信息存储在站点本地根文件夹下的 “Connections” 子文件夹中的一个包含 文件中。您可以手动编辑或删除文件中的连接信息,或者执行以下操作。 编辑连接 1   在 Dreamweaver 中打开任何一个 PHP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 2   右键单击 (Windows) 或按住 Control 并单击 (Macintosh) 该连接,然后从菜单中选择 “ 编辑连接 ”。 3   编辑连接信息并单击 “ 确定 ”。 Dreamweaver 会更新该包含文件,这将更新该站点中使用此连接的所有页。 删除连接 1   在 Dreamweaver 中打开任何一个 PHP 页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 2   右键单击 (Windows) 或按住 Control 并单击 (Macintosh) 该连接,然后从菜单中选择 “ 删除连接 ”。 3   在显示的对话框中,确认您要删除该连接。 注:若要避免在删除一个连接后收到错误信息,请更新使用旧连接的每一记录集,方法是在 “ 绑定 ” 面板中双击记录集的名称 并在 “ 记录集 ” 对话框中选择新连接。 数据库连接答疑 权限问题答疑 最常见的问题之一是文件夹或文件权限不足。如果您的数据库位于 Windows 2000 或 Windows XP 计算机上,并且您在尝试 从 Web 浏览器或以 “ 实时 ” 视图查看动态页时收到错误消息,则该错误可能是由权限问题引起的。 试图访问数据库的 Windows 帐户没有足够的权限。如果已对页面设置保护以只允许经过身份验证的访问,则该帐户可能是匿 名 Windows 帐户 (默认情况下为 IUSR_computername)或特定的用户帐户。 您必须更改权限,向 IUSR_computername 帐户提供正确的权限,这样 Web 服务器才能访问该数据库文件。此外,包含该 数据库文件的文件夹还必须设置某些权限才能向该数据库写入。 如果打算以匿名方式访问该页,请向 IUSR_computername 帐户提供对该文件夹和数据库文件的完全控制权限,如以下步骤 所述。 此外,如果使用 UNC (\\Server\Share) 引用数据库的路径,请确保 “ 共享权限 ” 向 IUSR_computername 帐户提供完全访 问权限。即使共享位于本地 Web 服务器,此步骤仍然适用。 如果从另一个位置复制数据库,它可能不会从目标文件夹继承权限,这时您必须更改数据库的权限。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   452 准备建立动态站点 检查或更改数据库文件权限 (Windows XP) 1   确保您在计算机上拥有管理员权限。 2   在 Windows 资源管理器中,找到该数据库文件或包含该数据库的文件夹,右键单击该文件或文件夹,然后选择 “ 属性 ”。 3   选择 “ 安全 ” 选项卡。 注:此步骤仅适用于 NTFS 文件系统中。如果是 FAT 文件系统,则该对话框没有 “ 安全 ” 选项卡。 4   如果 IUSR_computername 帐户未在 “ 组或用户名称 ” 列表中列出,请单击 “ 添加 ” 按钮来添加该帐户。 5   在 “ 选择用户或组 ” 对话框中,单击 “ 高级 ”。 对话框随即更改以显示更多的选项。 6   单击 “ 位置 ” 并选择计算机名称。 7   单击 “ 开始查找 ” 以显示与该计算机关联的帐户名称的列表。 8   选择 IUSR_computername 帐户并单击 “ 确定 ”,然后再次单击 “ 确定 ” 以清除该对话框。 9   若要赋予 IUSR 帐户完全权限,请选择 “ 完全控制 ” 然后单击 “ 确定 ”。 检查或更改数据库文件权限 (Windows 2000) 1   确保您在计算机上拥有管理员权限。 2   在 Windows 资源管理器中,找到该数据库文件或包含该数据库的文件夹,右键单击该文件或文件夹,然后选择 “ 属性 ”。 3   选择 “ 安全 ” 选项卡。 注:此步骤仅适用于 NTFS 文件系统中。如果是 FAT 文件系统,则该对话框没有 “ 安全 ” 选项卡。 4   如果 “ 文件权限 ” 对话框中的 Windows 帐户中没有列出 IUSR_computername 帐户,请单击 “ 添加 ” 按钮添加该帐户。 5   在 “ 选择用户、计算机或组 ” 对话框中,从 “ 查找范围 ” 菜单中选择计算机名称以显示与该计算机关联的帐户名称的列表。 6   选择 IUSR_computername 帐户,然后单击 “ 添加 ”。 7   若要赋予 IUSR 帐户完全权限,请从 “ 访问类型 ” 菜单中选择 “ 完全控制 ”,然后单击 “ 确定 ”。 对于所添加的安全设置,可以设置权限,以便对包含该数据库的 Web 文件夹禁用读权限。将不允许浏览该文件夹,但 Web 页 仍可以访问该数据库。 有关 IUSR 帐户和 Web 服务器权限的更多信息,请参阅 Adobe 支持中心上的以下技术说明: · Understanding anonymous authentication and the IUSR account (了解匿名身份验证和 IUSR 帐户),网址为 www.adobe.com/go/authentication_cn · Setting IIS web server permissions (设置 IIS Web 服务器权限),网址为 www.adobe.com/go/server_permissions_cn Microsoft 错误信息答疑 如果您将 Internet Information Server (IIS) 与 Microsoft 数据库系统 (例如 Access 或 SQL Server)一起使用 , 则从服务 器请求动态页时就会出现这些 Microsoft 错误消息。 注:Adobe 不对 Microsoft Windows 和 IIS 等第三方软件提供技术支持。如果这些信息无法解决您的问题,请与 Microsoft 技术支持部门联系或访问 Microsoft 支持网站,网址为 http://support.microsoft.com/ HYPERLINK "http://support.microsoft.com/default.aspx?scid=kb;zh-cn;Q306518" 。 有关 80004005 错误的详细信息,请参阅 Microsoft 网站上的 “ 关于 Active Server Pages 和 Microsoft 数据访问组件中的 80004005 错误的疑难解答 ” (http://support.microsoft.com/default.aspx?scid=kb; zh-cn;Q306518)。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   453 准备建立动态站点 [ 参考 ]80004005 -- 未发现数据源名称并且未指定默认驱动程序 当您试图在 Web 浏览器中或以 “ 实时 ” 视图查看动态页时,会出现此错误。根据您的数据库和 Web 服务器的具体情况,该错 误信息可能有所不同。其它形式包括: · 80004005 - 驱动程序的 SQLSetConnectAttr 失败 · 80004005 - 常规错误:无法打开注册表项 “DriverId” 可能的原因和解决方案如下: · 页面无法找到 DSN。确保已经在 Web 服务器和本地计算机上创建了 DSN。 · DSN 可能已设置为用户 DSN,而不是系统 DSN。请删除用户 DSN 并创建一个系统 DSN 取代它。 注:如果不删除用户 DSN,则重复的 DSN 名称会产生新的 ODBC 错误。 如果使用 Microsoft Access,则可能数据库文件 (.mdb) 已锁定。此锁定可能是因不同名称的 DSN 访问该数据库引起的。在 Windows 资源管理器中,从包含数据库文件 (.mdb) 的文件夹中搜索锁定文件 (.ldb) 并删除该 .ldb 文件。如果另一个 DSN 正 指向同一数据库文件,请删除该 DSN,以防止以后出错。请在进行任何更改后重新启动计算机。 [ 参考 ]80004005 -- 无法使用 “( 未知 )” ;文件已在使用中 当您使用 Microsoft Access 数据库并试图在 Web 浏览器中或以 “ 实时 ” 视图查看动态页时,会出现此错误。此错误消息的另 一形式为 “80004005 -- Microsoft Jet 数据库引擎无法打开文件 (未知) ”。 可能的原因是存在权限问题。具体的原因和解决方案如下: · Internet Information Server 所使用的帐户 (通常是 IUSR)对于某个基于文件的数据库或包含该文件的文件夹可能没有 正确的 Windows 权限。请在用户管理器中检查该 IIS 帐户 (IUSR) 的权限。 · 您可能没有创建或销毁临时文件所需的权限。请检查对该文件和文件夹的权限。确保您具有创建或销毁任何临时文件所需的 权限。临时文件通常创建在数据库所在的文件夹中,但也可能创建到其它文件夹 (如 /Winnt)中。 · 在 Windows 2000 中,可能需要为 Access 数据库 DSN 更改超时值。若要更改超时值,请选择 “ 开始 ”>“ 设置 ”>“ 控制面板 ”>“ 管理工具 ”>“ 数据源 (ODBC)”。单击 “ 系统 ” 选项卡,突出显示正确的 DSN,然后单击 “ 配置 ” 按钮。单击 “ 选项 ” 按钮并将 “ 页面超时 ” 值更改为 5000。 如果仍然有问题,请参阅下面的 Microsoft 知识库文章: · PRB: 80004005“ 无法使用 ‘ (未知) ’ ;文件已在使用中 ” (http://support.microsoft.com/default.aspx?scid=kb; zh- cn;Q174943)。 · PRB: Microsoft Access Database Connectivity Fails in Active Server Pages (Active Server Pages 中的 Microsoft Access 数据库连接失败),网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;Q253604。 · PRB: Error “Cannot Open File Unknown” Using Access(PRB:使用 Access 时 “ 无法打开未知文件 ” 出现错误),网 址为:http://support.microsoft.com/default.aspx?scid=kb; zh-cn;Q166029。 [ 参考 ]80004005 -- 登录失败 () 当您使用 Microsoft SQL Server 并试图在 Web 浏览器中或以 “ 实时 ” 视图查看动态页时,会出现此错误。 如果 SQL Server 不接受或不能识别您所提交的登录帐户或密码 (假定您使用的是标准安全机制),或者如果 Windows 帐户 没有映射到 SQL 帐户 (假定您使用的是集成安全机制),则 SQL Server 会产生此错误。 可能的解决方案如下: · 如果使用标准安全机制,则可能是帐户名称和密码不正确。请尝试使用系统管理员帐户和密码 (UID=“sa” 且无密码),但 这必须在连接字符串语句行中定义。(DSN 不存储用户名和密码。) · 如果使用集成安全机制,则请检查调用该页的 Windows 帐户,并找到它映射的 SQL 帐户 (如果存在)。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   454 准备建立动态站点 · SQL Server 不允许在 SQL 帐户名称中使用下划线。如果有人手动将 Windows IUSR_machinename 帐户映射到同名的 SQL 帐户,则会失败。应该将所有使用下划线的帐户映射到 SQL 上不使用下划线的帐户名称。 [ 参考 ]80004005 -- 操作必须使用一个可更新的查询 当事件更新记录集或在记录集中插入数据时会发生此错误。 可能的原因和解决方案如下: · 对包含数据库的文件夹所设置的权限具有太多限制。 IUSR 特权必须设置为读 / 写。 · 对数据库文件本身的权限未使完全的读 / 写特权生效。 · 数据库可能位于 Inetpub/wwwroot 目录之外。如果数据库不在 wwwroot 目录中,则您可以查看和搜索数据,但不能更 新数据。 · 记录集基于不可更新的查询。联接正是数据库中的一种不可更新查询。请重新构造查询,以使其可以更新。 有关此错误的详细信息,请参阅 Microsoft 知识库中的 “ASP 'Error The Query Is Not Updateable' When You Update Table Record” (PRB:更新表记录时出现 ASP 错误 “ 查询不可更新 ”),网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;Q174640。 [ 参考 ]80040e07 -- 标准表达式中数据类型不匹配 当服务器尝试处理包含 “ 插入记录 ” 或 “ 更新记录 ” 服务器行为的页面,并且该服务器行为试图将 Microsoft Access 数据库中 “ 日期 / 时间 ” 列的值设置为空字符串 ("") 时,会出现此错误。 Microsoft Access 具有强数据类型;对于给定的列值有一套严格的规则。SQL 查询中的空字符串值不能存储在 Access“ 日期 / 时间 ” 列中。目前已知的唯一解决方法,是避免将空字符串 ("") 或其它任何与该数据类型的指定值范围不对应的值插入 Access 中的 “ 日期 / 时间 ” 列,也不要使用这些值更新 “ 日期 / 时间 ” 列。 [ 参考 ]80040e10 -- 参数过少 当数据库表中不存在 SQL 查询中所指定的列时,会出现此错误。请对照 SQL 查询检查数据库表中的列名称。此错误通常是因 拼写错误引起。 [ 参考 ]80040e10 -- COUNT 字段错误 当您在 Web 浏览器中预览包含 “ 插入记录 ” 服务器行为的页并尝试使用它在 Microsoft Access 数据库中插入记录时,此错误 会出现。 您可能试图将记录插入字段名中包含问号 (?) 的 数据库字段。对于某些数据库引擎 (包括 Microsoft Access),问号是特殊字 符,不应将它用于数据库表或字段的名称。 请打开数据库系统并从字段名中删除问号 (?),然后更新页上引用该字段的服务器行为。 [ 参考 ]80040e14 -- INSERT INTO 语句中的语法错误 当服务器尝试处理包含 “ 插入记录 ” 服务器行为的页时,会发生此错误。 此错误通常是因数据库中字段、对象或变量的名称存在以下一个或多个问题所致: · 将保留字用作名称。大多数数据库都有一组保留字。例如, “date” 是保留字,因而不能用于数据库中的列名称。 · 名称中使用特殊字符。特殊字符的示例包括: ./*:!#&-? · 在名称中使用空格。 当为数据库中的对象定义了输入掩码并且插入的数据与该掩码不符时,也会出现此错误。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   455 准备建立动态站点 若要解决该问题,在指定数据库中的列名称时,请避免使用 “date”、 “name”、 “select”、 “where” 和 “level” 等保留字。 另外,请清除空格和特殊字符。 有关常见数据库系统的保留字的列表,请参阅以下 Web 页: · Microsoft Access,网址为 http://support.microsoft.com/default.aspx?scid=kb;zh-ch;Q209187 · Microsoft SQL Server,网址为 http://msdn.microsoft.com/library/default.asp?url=/library/zh-ch/tsqlref/ts_ra- rz_9oj7.asp · MySQL,网址为 http://dev.mysql.com/doc/mysql/en/reserved-words.html [ 参考 ]80040e21 -- 插入或列新时发生 ODBC 错误 当服务器尝试处理包含 “ 更新记录 ” 或 “ 插入记录 ” 服务器行为的页时,会出现此错误。数据库无法处理该服务器行为尝试执 行的更新或插入操作。 可能的原因和解决方案如下: · 该服务器行为正尝试更新数据库表的自动编号字段或者尝试在自动编号字段中插入记录。由于自动编号域由数据库系统自动 填充,因此任何从外部用值填充这些域的尝试都会失败。 · 服务器行为正在更新或插入的数据对于该数据库字段而言是错误的类型,例如将日期插入布尔型 (是 / 否)字段,将字符串 插入数值字段,或者将格式不正确的字符串插入 “ 日期 / 时间 ” 字段。 [ 参考 ]800a0bcd -- BOF 或 EOF 为 True 当您试图在 Web 浏览器中或以 “ 实时 ” 视图查看动态页面时,会出现此错误。 该问题在动态页试图显示空记录集中的数据时出现。若要解决该问题,请将 “ 显示区域 ” 服务器行为应用于要在页上显示的动 态内容,如下所述: 1   突出显示页上的动态内容。 2   在 “ 服务器行为 ” 面板上,单击加号 (+) 按钮并选择 “ 显示区域 ”>“ 如果记录集不为空则显示区域 ”。 3   选择提供动态内容的记录集并单击 “ 确定 ”。 4   对于页上的每个动态内容元素重复步骤 1 至 3。 MySQL 错误信息答疑 在测试到 MySQL 4.1 的 PHP 数据库连接时可能会遇到的一条常见错误消息是:“ 客户端不支持请求的验证协议。请考虑升级 MySQL 客户端。 ” 您可能必须回复到较早的 MySQL 版本,或者安装 PHP 5 并复制一些动态链接库 (DLL)。有关详细说明,请参阅第 441 页的 “ 设置 PHP 开发环境 ”。 另请参阅以下技术说明: · TechNote c45f8a29,网址为 www.adobe.com/go/c45f8a29_cn。 · TechNote 16515,网址为 www.adobe.com/go/16515_cn。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   456 准备建立动态站点 删除连接脚本 使用删除连接脚本命令 可以使用 “ 删除连接脚本 ” 命令删除 Dreamweaver 在远程文件夹中放置的数据库访问脚本。只有 Dreamweaver 中的设计时 创作才需要使用这些脚本。 在 “ 数据库连接 ” 对话框中选择 “ 使用测试服务器上的驱动程序 ” 选项或 “ 使用测试服务器上的 DSN” 选项时, Dreamweaver 会自动将一个 MMHTTPDB 脚本文件上传到测试服务器。该服务器允许 Dreamweaver 通过 HTTP 协议操作 远程数据库驱动程序,随后可以让 Dreamweaver 获取用于帮助您创建站点所必需的数据库信息。但是,该文件也有可能会泄 漏系统上定义的数据源名称 (DSN)。如果 DSN 和数据库未设密码保护,该脚本将使得攻击者能够向数据库发出 SQL 命令。 MMHTTPDB 脚本文件位于 _mmServerScripts 文件夹中,该文件夹位于 Web 站点的根目录中。 注:Dreamweaver 文件浏览器 (即 “ 文件 ” 面板)将隐藏 _mmServerScripts 文件夹。如果您使用的是第三方 FTP 客户端 或文件浏览器,则可以看到 _mmServerScripts 文件夹。 在某些配置中,这些脚本毫无必要。在向 Web 站点的访问者提供 Web 页时并不需要这些脚本,所以不要将其放置在生产服务 器上。 如果您已将 MMHTTPDB 脚本文件上传到生产服务器,那么应该删除此 MMHTTPDB 脚本文件。 “ 删除连接脚本 ” 命令会 为您自动删除这些脚本文件。 有关详细信息,请参阅 Adobe 网站上的 TechNote 19214,网址为 www.adobe.com/go/19214_cn。 草稿 上次更新 2010/3/21 第 19 章 : 生成动态页 您可以创建动态页,以显示来自动态内容源 (如数据库和会话变量)的信息。 Adobe® Dreamweaver® CS5 支持 ColdFusion、 ASP 和 PHP 服务器模型的动态页开发。 还可以使用基于 Ajax 的框架 (称为 Spry)创建显示和处理 XML 数据的动态页面。使用预置的 Spry 表单元素构建不需要全 页面刷新的动态页面。 为可视化开发优化工作区 显示 Web 应用程序开发面板 从 “ 插入 ” 面板的 “ 类别 ” 弹出菜单中选择 “ 数据 ” 类别可显示一组按钮,使用这些按钮可以向页面中添加动态内容和服务器 行为。 显示的按钮的数量和类型取决于在 “ 文档 ” 窗口中打开的文档类型。将鼠标指针移到图标上时,会显示工具提示,说明该按钮 的功能。 “ 插入 ” 面板中包括可将下列项添加到页面中的按钮: · 记录集 · 动态文本或表 · 记录集导航条 如果您切换到 “ 代码 ” 视图 (“ 查看 ”>“ 代码 ”),附加的面板可能会显示在各自的 “ 插入 ” 面板类别中,以允许您在页面 中插入代码。例如,如果您在 “ 代码 ” 视图中查看 ColdFusion 页,CFML 面板将在 “ 插入 ” 面板的 “CFML” 类别中变为 可用。 有多个面板提供了创建动态页的方法: · 选择 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”),定义页面的动态内容来源,并将内容添加到页面中。 · 选择 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),向动态页添加服务器端逻辑。 · 选择 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”),浏览数据库或创建数据库连接。 · 选择 “ 组件 ” 面板 (“ 窗口 ”>“ 组件 ”),检查、添加或修改 ColdFusion 组件的代码。 注:“ 组件 ” 面板仅在打开 ColdFusion 页时启用。 服务器行为是在设计时插入到动态页中的指令集,这些指令在运行时于服务器上执行。 有关设置开发工作区的教程,请参阅 www.adobe.com/go/vid0144_cn。 更多帮助主题 第 465 页的 “ 绑定面板 ” 第 465 页的 “ 服务器行为面板 ” 第 466 页的 “ 数据库面板 ” 第 466 页的 “ 组件面板 ” 开发工作区教程 457 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   458 生成动态页 在 Dreamweaver 中查看数据库 在连接到数据库后,可在 Dreamweaver 中查看其结构与数据。 1   打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 “ 数据库 ” 面板显示您为其创建了连接的所有数据库。如果您正在开发 ColdFusion 站点,则该面板将显示在 “ColdFusion 管 理员 ” 中定义了数据源的所有数据库。 注:Dreamweaver 会搜索您为当前站点定义的 ColdFusion 服务器。 如果在该面板中没有显示任何数据库,则您必须创建一个数据库连接。 2   若要显示数据库中的表、预存过程和视图,请单击列表中连接旁的加号 (+)。 3   若要显示表中的列,请单击表。 列图标可反映数据类型并指示表的主键。 4   若要查看表中的数据,请右键单击 (Windows) 或按住 Control 单击 (Macintosh) 列表中的表名称,然后从弹出菜单中选 择 “ 查看数据 ”。 更多帮助主题 第 440 页的 “ 设置 ColdFusion 开发环境 ” 第 441 页的 “ 设置 PHP 开发环境 ” 第 441 页的 “ 设置 ASP 开发环境 ” 在浏览器中预览动态页 Web 应用程序开发人员经常通过在 Web 浏览器中频繁地检查页来对页进行调试。您可以在浏览器中快速查看动态页 (按 F12),而无需先将其手动上传到服务器。 若要预览动态页,您必须完成 “ 站点定义 ” 对话框的 “ 测试服务器 ” 类别。 可以指定 Dreamweaver 使用临时文件而不是原始文件。通过此选项,在将页显示于浏览器中之前, Dreamweaver 会在 Web 服务器上运行该页的临时副本。(Dreamweaver 随后将从服务器中删除该临时文件。)若要设置此选项,请选择 “ 编辑 ”>“ 首选参数 ”>“ 在浏览器中预览 ”。 “ 在浏览器中预览 ” 选项不会上传相关页 (例如结果页或详细页)、相关文件 (例如图像文件)或服务器端包含文件。若要上 传缺少的文件,请选择 “ 窗口 ”>“ 站点 ” 以打开 “ 站点 ” 面板,在 “ 本地文件夹 ” 下选择该文件,然后单击工具条上的蓝色向 上箭头,将该文件复制到 Web 服务器文件夹中。 更多帮助主题 第 38 页的 “ 设置测试服务器 ” 限制显示在 Dreamweaver 中的数据库信息 大型数据库系统 (如 Oracle)的高级用户应限制在设计时由 Dreamweaver 检索和显示的数据库项的数量。 Oracle 数据库可 能包含 Dreamweaver 在设计时无法处理的项。您可在 Oracle 中创建一个架构,然后在 Dreamweaver 中使用它在设计时筛 选掉不必要的项。 注:在 Microsoft Access 中不能创建架构或目录。 限制在设计时 Dreamweaver 检索的信息数量后,其他用户可能会从中受益。有些数据库包含数十甚至数百个表,您可能不喜 欢在工作时将其全部列出。架构或目录可限制在设计时检索的数据库项的数量。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   459 生成动态页 必须首先在数据库系统中创建架构或目录,然后才能在 Dreamweaver 中应用它。请查询数据库系统文档或向系统管理员咨 询。 注:如果您正在开发 ColdFusion 应用程序或使用 Microsoft Access,则无法在 Dreamweaver 中应用架构或目录。 1   在 Dreamweaver  中打开动态页,然后打开 “ 数据库 ” 面板 (“ 窗口 ”>“ 数据库 ”)。 · 如果存在数据库连接,请右键单击 (Windows) 或按住 Control 单击 (Macintosh) 列表中的该连接,然后从弹出菜单中选 择 “ 编辑连接 ”。 · 如果不存在连接,请单击面板顶部的加号 (+) 按钮,然后创建连接。 2   在该连接的对话框中,单击 “ 高级 ”。 3   指定架构或目录,然后单击 “ 确定 ”。 为 ColdFusion 预存过程和 ASP 命令设置属性检查器 修改选定的预存过程。可用选项因服务器技术而异。 ❖  编辑所有选项。在检查器中选择了新选项之后, Dreamweaver 会更新页面。 更多帮助主题 第 482 页的 “ 编辑动态内容 ” 输入名称选项 当 Dreamweaver 遇到不可识别的输入类型时,出现此属性检查器。通常由于出现键入错误或其它数据输入错误,才会出现这 种情况。 如果在属性检查器中将该域类型更改为 Dreamweaver 可识别的值,例如在更正了拼写错误后,属性检查器将进行更新以显示 该可识别类型的属性。在属性检查器中设置以下任一选项: 输入名称  为该域指定一个名称。此框是必需的,而且名称必须唯一。 类型  设置该域的输入类型。此框的内容反映 HTML 源代码中当前出现的输入类型值。 值  设置该域的值。 参数  打开 “ 参数 ” 对话框,以便可查看域的当前属性以及添加或移除属性。 设计动态页 Dreamweaver 和动态页设计 请执行以下常规步骤,成功地设计和创建一个动态 Web 站点。 1   设计页面。 在设计任何 Web 站点 (无论是静态还是动态的)时的一个关键步骤是页面视觉效果的设计。当向网页中添加动态元素时, 页面的设计对于其可用性至关重要。请仔细考虑用户将如何既与各个页面又与整个 Web 站点进行交互。 将动态内容合并到 Web 页的常用方法是创建一个显示内容的表格,然后将动态内容导入该表格的一个或多个单元格中。利 用此方法,可以用一种结构化的格式来表示各种类型的信息。 2   创建动态内容源。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   460 生成动态页 动态 Web 站点需要一个内容源,在将数据显示在网页上之前,动态 Web 站点需要从该内容源提取这些数据。能在 Web 页中使用内容源之前,必须执行以下操作: · 创建动态内容源(如数据库)与处理该页面的应用程序服务器之间的连接。使用 “ 绑定 ” 面板创建数据源;然后可以选择 数据源并将其插入到页面中。 · 通过创建记录集指定要显示数据库中的什么信息,或指定希望在该页面中包括什么变量。还可以在 “ 记录集 ” 对话框内测 试查询,并可以进行任何必要的调整,然后再将其添加到 “ 绑定 ” 面板。 · 选择动态内容元素并将其插入到选定页面。 3   向 Web 页添加动态内容。 定义记录集或其它数据源并将其添加到 “ 绑定 ” 面板后,可以将该记录集所代表的动态内容插入到页面中。Dreamweaver 的菜单驱动型界面使得添加动态内容元素非常简单,只需从 “ 绑定 ” 面板中选择动态内容源,然后将其插入到当前页面内的 相应文本、图像或表单对象中即可。 将动态内容元素或其它服务器行为插入到页面中时,Dreamweaver 会将一段服务器端脚本插入到该页面的源代码中。该脚 本指示服务器从定义的数据源中检索数据,然后将数据呈现在该网页中。若要在网页中放置动态内容,请执行以下操作之 一: · 将其放在 “ 代码 ” 视图或 “ 设计 ” 视图中的插入点处。 · 替换文本字符串或其它占位符。 将其插入到 HTML 属性中。例如,动态内容可以定义图像的 src 属性或表单域的 value 属性。 4   向页面添加服务器行为。 除了添加动态内容外,您还可以通过使用服务器行为将复杂的应用程序逻辑结合到 Web 页中。服务器行为是预定义的服务 器端代码片段,这些代码向网页添加应用程序逻辑,从而提供更强的交互性能和功能。 Dreamweaver 服务器行为使您可以向 Web 站点添加应用程序逻辑,而不必由您亲自编写代码。随 Dreamweaver 提供的 服务器行为支持 ColdFusion、ASP 和 PHP 文档类型。服务器行为经过精心编写和仔细测试,以达到快速、安全和可靠的 目的。内置服务器行为支持跨平台 Web 页,适用于所有浏览器。 Dreamweaver 提供指向并单击 (point-and-click) 界面,这种界面使得将动态内容和复杂行为应用到页面就像插入文本元 素和设计元素一样简单。可使用的服务器行为如下所述: · 定义来自现有数据库的记录集。所定义的记录集随后存储在 “ 绑定 ” 面板中。 · 在一个页面上显示多条记录。可以选择整个表、包含动态内容的各个单元格或各行,并指定要在每个页面视图中显示的 记录数。 · 创建动态表并将其插入到页面中,然后将该表与记录集相关联。以后可以分别使用属性检查器和重复区域服务器行为来 修改表的外观和重复区域。 · 在页面中插入动态文本对象。插入的文本对象是来自预定义记录集的项,可以对其应用任何数据格式。 · 创建记录导航和状态控件、主 / 详细页面以及用于更新数据库中信息的表单。 · 显示来自数据库记录的多条记录。 · 创建记录集导航链接,这种链接允许用户查看来自数据库记录的前面或后面的记录。 · 添加记录计数器,以帮助用户跟踪返回了多少条记录以及它们在返回结果中所处的位置。 还可以通过编写您自己的服务器行为或者安装由第三方编写的服务器行为来扩展 Dreamweaver 服务器行为。 5   测试和调试页面。 在将动态页或整个 Web 站点发布到 Web 上之前,应首先测试其功能。还应考虑您的应用程序功能将会对残障人士造成何 种影响。 有关创建动态页面的教程,请访问 www.adobe.com/go/learn_dw_webapp_cn。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   461 生成动态页 更多帮助主题 第 145 页的 “ 使用表格显示内容 ” 第 180 页的 “ 添加文本和设置文本格式 ” 第 193 页的 “ 添加和修改图像 ” 第 203 页的 “ 插入 SWF 文件 ” 动态内容源概述 关于动态内容源 动态内容源 是一个可从中检索并显示在 Web 页中使用的动态内容的信息存储区。动态内容源不仅包括存储在数据库中的信 息,还包括通过 HTML 表单提交的值、服务器对象中包含的值以及其它内容源。 Dreamweaver 使您可以更轻松地连接到数据库并创建从中提取动态内容的记录集。记录集 是数据库查询的结果。它提取请求 的特定信息,并允许在指定页面内显示该信息。根据包含在数据库中的信息和要显示的内容来定义记录集。 不同的技术供应商可能使用不同的术语来表示记录集。在 ASP 和 ColdFusion 中,记录集被定义为查询。如果使用的是其它 数据源,例如用户输入或服务器变量,则 Dreamweaver 中定义的数据源名称与数据源名称本身相同。 动态 Web 站点要求有一个可从中检索和显示动态内容的数据源。 Dreamweaver 允许使用数据库、请求变量、 URL 变量、服 务器变量、表单变量、预存过程以及其它动态内容源。根据数据源的不同,您可检索新内容以满足某个请求,也可修改页面以 满足用户需要。 在 Dreamweaver 中定义的任何内容源都被添加到 “ 绑定 ” 面板的内容源列表中。随后您可以将内容源插入当前选定的页面。 关于记录集 Web 页不能直接访问数据库中存储的数据。而是需要与记录集进行交互。记录集是通过数据库查询从数据库中提取的信息 (记录)的子集。查询是一种专门用于从数据库中查找和提取特定信息的搜索语句。 将数据库用作动态网页的内容源时,必须首先创建一个要在其中存储检索数据的记录集。记录集在存储内容的数据库和生成页 面的应用程序服务器之间起一种桥梁作用。记录集临时存储在应用程序服务器的内存中以实现更快的数据检索。当服务器不再 需要记录集时,就会将其丢弃。 查询可以生成只包括某些列、只包括某些记录,或者既包括列也包括记录的记录集。记录集也可以包括数据库表中所有的记录 和列。但由于应用程序很少要用到数据库中的每个数据片段,所以应该努力使记录集尽可能的小。由于 Web 服务器会将记录 集临时放在内存中,所以使用较小的记录集将占用较少内存,并可以潜在地改善服务器的性能。 数据库查询是用结构化查询语言 (SQL,读作 “sequel”)编写的。而 SQL 是一种简单的、可用来在数据库中检索、添加和删 除数据的语言。使用 Dreamweaver 附带的 SQL 生成器,您可以在无需了解 SQL 的情况下创建简单查询。但是,如果您要创 建复杂的 SQL 查询,则需要对此语言有基本了解,这样才能创建更高级的查询以及更加灵活地设计动态页面。 定义用于 Dreamweaver 的记录集之前,必须先创建数据库连接,并在数据库中输入数据 (如果数据库中还没有数据的话)。 如果尚未定义站点的数据库连接,请参考数据库连接一章中有关您正在针对其进行开发的服务器技术的内容,并按照创建数据 库连接的说明进行操作。 更多帮助主题 第 466 页的 “ 不通过编写 SQL 来定义记录集 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   462 生成动态页 关于 URL 参数和表单参数 URL 参数存储用户输入的检索信息。若要定义 URL 参数,请创建使用 GET 方法提交数据的表单或超文本链接。信息附加到 所请求页面的 URL 后面并传送到服务器。使用 URL 变量时,查询字符串包含一个或多个与表单域相关联的名称 / 值对。这些 名称 / 值对附加在 URL 后面。 表单参数存储包含在网页的 HTTP 请求中的检索信息。如果创建使用 POST 方法的表单,则通过该表单提交的数据将传递到服 务器。开始之前,请确保将表单参数传递到服务器。 更多帮助主题 第 544 页的 “URL 参数 ” 第 473 页的 “ 定义表单参数 ” 关于会话变量 使用会话变量可以存储和显示在用户访问 (或会话)期间保持的信息。服务器为每个用户创建不同的阶段对象并保持一段固定 时间,或直至该对象被明确终止。 因为会话变量在整个用户会话期间持续,并且当用户从 Web 站点内的一个页面移到另一页面时仍持续存在,所以这些变量非 常适于存储用户首选参数。会话变量还可用于在页面的 HTML 代码中插入值,给本地变量赋值或提供计算条件表达式所需的 值。 定义页面的会话变量之前,必须先在源代码中创建它们。在 Web 应用程序的源代码中创建会话变量后,即可使用 Dreamweaver 检索变量值并将其用于 Web 页中。 会话变量的工作方式 会话变量存储信息 (通常是用户提交的表单或 URL 参数),并使该信息在用户访问的持续时间中对 Web 应用程序的所有页都 可用。例如,当用户登录到一个户可以访问电子邮件、股票报价、天气预报和每日新闻的 Web 门户之后, Web 应用程序会将 登录信息存储在一个会话变量中,该变量用于在该站点中所有的页面中标识该用户。这样,当用户浏览整个站点时,他们可以 只看到他们已经选中的内容类型。会话变量还可以提供一种安全机制,如果用户帐户在一段时间内保持不活动,安全机制终止 该用户的会话。如果用户忘记从 Web 站点注销,这种机制还会释放服务器内存和处理资源。 会话变量存储着用户的会话生命周期的信息。用户打开应用程序中的某一页时,会话开始;用户一段时间内不再打开该应用程 序中的其它页时,或者用户明确地终止会话时 (通常是单击 “ 注销 ” 链接),会话即告结束。在会话存在期间,会话特定于单 个用户,每个用户都有单独的会话。 会话变量用于存储 Web 应用程序中每页都能访问的信息。信息可以多种多样,如用户名、首选字体大小,或者是指示用户是 否成功登录的标记等。会话变量的另一个常见用途是保存连续分数,例如在网上测验中到目前为止用户答对的题数,或者到目 前为止用户从网上目录中选择的产品。 会话变量只有在用户的浏览器配置成接受 Cookie 后才起作用。当首次初始化会话时,服务器创建一个唯一标识该用户的会话 ID 号,然后将包含该 ID 号的 Cookie 发送到用户的浏览器。当用户请求服务器上的另一页时,服务器会读取浏览器中的 Cookie 以识别该用户并检索存储在服务器内存中的该用户的会话变量。 在会话变量中收集、存储和检索信息 创建会话变量前,必须先获得要存储的信息,然后才能将其发送到服务器进行存储。您可以使用 HTML 表单或包含 URL 参数 的超文本链接来收集信息并将其发送给服务器。信息的获取来源还包括:存储在用户计算机上的 Cookie、用户浏览器发送的 带有页面请求的 HTTP 标头,或者数据库。 在会话变量中存储 URL 参数的一个典型示例是产品目录,它使用通过链接创建的硬编码 URL 参数将产品信息发送回服务器以 存储在一个会话变量中。当用户单击 “Add to shopping cart” 链接时,产品 ID 将存储在会话变量中,而用户可以继续采购。 当用户继续浏览到付款页时,即可检索出存储在会话变量中的产品 ID。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   463 生成动态页 基于表单的问卷调查是在会话变量中存储表单参数的一个典型页面示例。表单将选定信息发送回服务器,服务器中的应用程序 页将记录调查分数并将响应存储于一个要传递给应用程序的会话变量中,该应用程序可以汇总从调查人群中收集到的响应。也 可将这些信息存储于数据库中供以后使用。 信息发送给服务器后,通过向由 URL 或表单参数指定的页中添加适合于服务器模型的代码,即可将信息存储在会话变量中。 请参考目标 页,该页既可在 HTML 表单的 action 属性中指定,也可在起始页上超文本链接的 href 属性中指定。 将值存储在会话变量中后,即可用 Dreamweaver 从会话变量中检索该值并用在 Web 应用程序中。在 Dreamweaver 中定义 了会话变量后,可以将其值插入到某个页面中。 每种 HTML 语法如下所示:    所用的服务器技术和用于获取信息的方法共同确定了使用什么代码将信息存储在会话变量中。每种服务器技术的基础语法如下 所示: ColdFusion ASP <%  Session("variable_name")  =  value  %> value 表达式通常是如 Request.Form("lastname") 之类的服务器表达式。例如,如果使用名为 product 的 URL 参数 (或包含 GET 方法并和文本域名为 product 的 HTML 表单)收集信息,则下列语句将信息存储在一个名为 prodID 的会话变量中: ColdFusion ASP <%  Session("prodID")  =  Request.QueryString("product")  %> 如果使用包含 post 方法和名为 txtProduct 的文本域的 HTML 表单来收集信息,则下列语句会将信息存储在会话变量中: ColdFusion ASP <%  Session("prodID")  =  Request.Form("txtProduct")  %> 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   464 生成动态页 存储在会话变量中的信息的示例 假定您正在处理一个拥有大量老年访问者的站点。在 Dreamweaver 中,向欢迎屏幕中添加了两个链接,使用户可以对该站点 的文本大小进行自定义。如果需要较大的、易读的文本,用户可以单击一个链接;如果需要常规大小的文本,用户可以单击另 一个链接。 每个链接都有一个名为 fontsize 的 URL 参数,它可以将用户的文本首选设置提交给服务器,如下面的 Adobe ColdFusion® 示 例所示: Larger  Text
      Normal  Text 将用户的文本首选项设置存储在会话变量中,并用其设置用户请求的每一页上的字体大小。 在目标页面的顶部附近,输入以下代码以创建名为 font_pref 的会话来存储用户的字体大小首选参数。 ColdFusion ASP <%  Session("font_pref")  =  Request.QueryString("fontsize")  %> 当用户单击超文本链接时,该页将用 URL 参数把用户的文本首选设置发送给目标页。目标页中的代码将该 URL 参数存储在 font_pref 会话变量中。在该用户会话的持续时间内,应用程序中的所有页都将检索该值,并显示选定的字体大小。 更多帮助主题 第 479 页的 “ 向页面添加动态内容 ” 第 473 页的 “ 定义会话变量 ” ASP 和 ColdFusion 应用程序变量 在 ASP 和 ColdFusion 中,可以使用应用程序变量来存储和显示某些信息,这些信息在应用程序的生存期内被保持并且在用 户改变时仍持续存在。应用程序的生存期是指从第一个用户在该应用程序中请求页面到 Web 服务器停止工作之间的这段时间。 (应用程序被定义为一个虚拟目录及其子目录中的所有文件)。 因为应用程序变量在应用程序的整个生存期内存在,并且在用户改变时仍持续存在,所以它们非常适合于存储所有用户都需要 的信息,如当前时间和日期。应用程序变量的值在应用程序代码中定义。 ASP 服务器变量 可以将以下 ASP 服务器变量定义为动态内容源:Request.Cookie、 Request.QueryString、 Request.Form、 Request.ServerVariables 和 Request.ClientCertificates。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   465 生成动态页 更多帮助主题 第 475 页的 “ 定义服务器变量 ” ColdFusion 服务器变量 可以定义下列 ColdFusion 服务器变量: 客户端变量  使数据与特定的客户端相关联。当用户在应用程序中从一个页面移动到另一个页面或从一个会话移动到另一个会话 时,客户端变量将保持应用程序的状态。 “ 保持状态 ” 指的是将信息从一个页面 (或会话)保留到下一个页面 (或会话),以 便应用程序 “ 记住 ” 用户和用户以前的选择和首选参数。 Cookie 变量  访问由浏览器传递给服务器的 Cookie。 CGI 变量  提供有关运行 ColdFusion 的服务器的信息、请求页面的浏览器的信息以及其它有关处理环境的信息。 服务器变量  可以由服务器上的所有客户端和应用程序访问。它们将一直持续到服务器被停止。 本地变量  此类变量是在 ColdFusion 页面中用 CFSET 标签或 CFPARAM 标签创建的。 更多帮助主题 第 475 页的 “ 定义服务器变量 ” 动态内容面板 绑定面板 使用 “ 绑定 ” 面板可定义和编辑动态内容源,向页面添加动态内容以及将数据格式应用于动态文本。 您可以使用此面板执行以下任务: · 第 466 页的 “ 定义动态内容源 ” · 第 479 页的 “ 向页面添加动态内容 ” · 第 478 页的 “ 更改或删除内容源 ” · 第 490 页的 “ 使用预定义的数据格式 ” · 第 415 页的 “ 附加 XML 数据源 ” · 第 415 页的 “ 在 XSLT 页面中显示 XML 数据 ” · 第 544 页的 “URL 参数 ” · 第 473 页的 “ 定义会话变量 ” · 第 474 页的 “ 定义用于 ASP 和 ColdFusion 的应用程序变量 ” · 第 475 页的 “ 定义服务器变量 ” · 第 478 页的 “ 缓存内容源 ” · 第 478 页的 “ 将记录集从一个页面复制到另一个页面 ” · 第 480 页的 “ 将 HTML 属性动态化 ” 服务器行为面板 使用 “ 服务器行为 ” 面板可将 Dreamweaver 服务器行为添加到页面,编辑服务器行为以及创建服务器行为。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   466 生成动态页 您可以使用此面板执行以下任务: · 第 484 页的 “ 显示数据库记录 ” · 第 466 页的 “ 定义动态内容源 ” · 第 508 页的 “ 在一次操作中生成主页和详细页 ” · 第 509 页的 “ 生成搜索页和结果页 ” · 第 514 页的 “ 生成记录插入页面 ” · 第 517 页的 “ 生成更新记录的页面 ” · 第 521 页的 “ 生成删除记录的页面 ” · 第 534 页的 “ 生成只有授权用户才能访问的页 ” · 第 531 页的 “ 生成注册页 ” · 第 532 页的 “ 生成登录页 ” · 第 534 页的 “ 生成只有授权用户才能访问的页 ” · 第 529 页的 “ 添加预存过程 (ColdFusion)” · 第 482 页的 “ 删除动态内容 ” · 第 493 页的 “ 添加自定义服务器行为 ” 数据库面板 使用 “ 数据库 ” 面板可创建数据库连接,检查数据库以及将数据库相关代码插入到页中。 可以使用此面板查看数据库和连接到数据库: · 第 458 页的 “ 在 Dreamweaver 中查看数据库 ” · 第 443 页的 “ColdFusion 开发人员的数据库连接 ” · 第 444 页的 “ASP 开发人员的数据库连接 ” · 第 450 页的 “ 适用于 PHP 开发人员的数据库连接 ” 组件面板 使用 “ 组件 ” 面板可创建和检查组件,以及将组件代码插入到页中。 注:该面板不能在 “ 设计 ” 视图中工作。 您可以使用此面板执行以下任务: · 第 537 页的 “ 使用 ColdFusion 组件 ” 定义动态内容源 不通过编写 SQL 来定义记录集 您不需要手动输入 SQL 语句就可以创建记录集。 1   在 “ 文档 ” 窗口中打开要使用记录集的页面。 2   选择 “ 窗口 ”>“ 绑定 ” 以显示 “ 绑定 ” 面板。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   467 生成动态页 3   在 “ 绑定 ” 面板中,单击加号 (+) 按钮并从弹出菜单中选择 “ 记录集 (查询) ”。 出现简单的 “ 记录集 ” 对话框。如果开发的是 ColdFusion 站点,则该 “ 记录集 ” 对话框略有不同。(如果出现的是高级的 “ 记录集 ” 对话框,请单击 “ 简单 ” 按钮切换到简单的 “ 记录集 ” 对话框。) 4   针对您的文档类型完成 “ 记录集 ” 对话框。 有关说明,请参见下列主题。 5   单击 “ 测试 ” 按钮执行查询,并确保该查询检索到自己想要的信息。 如果定义了使用用户输入的参数的过滤器,则在 “ 测试值 ” 框中输入一个值,然后单击 “ 确定 ”。记录集实例成功创建时,将 出现一个显示从该记录集中提取的数据的表格。 6   单击 “ 确定 ” 将该记录集添加到 “ 绑定 ” 面板的可用内容源列表中。 简单记录集对话框选项 (PHP、 ASP) 1   在 “ 名称 ” 框中,输入记录集的名称。 通常的做法是在记录集名称前添加前缀 rs,以将其与代码中的其它对象名称区分开,例如:rsPressReleases。 记录集名称只能包含字母、数字和下划线 (_)。不能使用特殊字符或空格。 2   从 “ 连接 ” 弹出菜单中选择一个连接。 如果列表中未出现连接,请单击 “ 定义 ” 创建连接。 3   在 “ 表 ” 弹出菜单中,选择为记录集提供数据的数据库表。 弹出菜单显示指定数据库中的所有表。 4   若要在记录集中包含表列的子集,请单击“已选定”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 表中的列,以选择所需列。 5   若要进一步限制从表中返回的记录,请完成 “ 过滤器 ” 部分: · 在第一个弹出菜单中,选择数据库表中的列,以将其与定义的测试值进行比较。 · 从第二个弹出菜单中选择一个条件表达式,以便将每个记录中的选定值与测试值进行比较。 · 在第三个弹出菜单中选择 “ 输入的值 ”。 · 在框中输入测试值。 如果记录中的指定值符合筛选条件,则将该记录包括在记录集中。 6  (可选)若要对记录进行排序,请选择要作为排序依据的列,然后指定是按升序 (1、 2、 3... 或 A、 B、 C...)还是按降序 对记录进行排序。 7   单击 “ 测试 ” 连接到数据库并创建数据源实例,然后单击 “ 确定 ” 关闭数据源。 出现显示返回数据的表格。每行包含一条记录,而每列表示该记录中的一个域。 8   单击 “ 确定 ”。新定义的记录集即会出现在 “ 绑定 ” 面板中。 简单记录集对话框选项 (ColdFusion) 将用于 ColdFusion 文档类型的记录集定义为动态内容源,而无须手动编写 SQL 语句代码。 1   在 “ 名称 ” 框中,输入记录集的名称。 通常的做法是在记录集名称前添加前缀 rs,以将其与代码中的其它对象名称区分开。例如:rsPressReleases 记录集名称只能包含字母、数字和下划线 (_)。不能使用特殊字符或空格。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   468 生成动态页 2   如果要定义用于 ColdFusion 组件的记录集(即,如果当前在 Dreamweaver 中打开 CFC 文件),请从 “ 函数 ” 弹出菜单中 选择一个现有的 CFC 函数,或单击 “ 新函数 ” 按钮来创建一个新函数。 注:仅在当前文档为 CFC 文件且您有权访问运行 ColdFusion MX 7 或更高版本的计算机时,才可以使用 “ 函数 ” 弹出菜 单。 记录集是在函数中定义的。 3   从 “ 数据源 ” 弹出菜单中选择数据源。 如果弹出菜单中未出现数据源,则必须创建 ColdFusion 数据源。 4   如果需要,在 “ 用户名 ” 和 “ 密码 ” 框中,输入 ColdFusion 应用程序服务器的用户名和密码。 访问 ColdFusion 中的数据源时可能需要用户名和密码。如果您没有访问 ColdFusion 中的数据源所需的用户名和密码, 请与组织的 ColdFusion 管理员联系。 5   在 “ 表 ” 弹出菜单中,选择为记录集提供数据的数据库表。 “ 表 ” 弹出菜单显示指定数据库中的所有表。 6   若要在记录集中包含表列的子集,请单击“已选定”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 表中的列,以选择所需列。 7   若要进一步限制从表中返回的记录,请完成 “ 过滤器 ” 部分: · 在第一个弹出菜单中,选择数据库表中的列,以将其与定义的测试值进行比较。 · 从第二个弹出菜单中选择一个条件表达式,以便将每个记录中的选定值与测试值进行比较。 · 在第三个弹出菜单中选择 “ 输入的值 ”。 · 在框中输入测试值。 如果记录中的指定值符合筛选条件,则该记录将包括在记录集中。 8  (可选)若要对记录进行排序,请选择要作为排序依据的列,然后指定是按升序 (1、 2、 3... 或 A、 B、 C...)还是按降序 对记录进行排序。 9   单击 “ 测试 ” 连接到数据库并创建数据源实例。 出现显示返回数据的表格。每行包含一条记录,而每列表示该记录中的一个域。单击 “ 确定 ” 关闭测试记录集。 10 单击 “ 确定 ”。新定义的 ColdFusion 记录集即会出现在 “ 绑定 ” 面板中。 通过编写 SQL 来定义高级记录集 使用高级 “ 记录集 ” 对话框编写自己的 SQL 语句,或使用图形化 “ 数据库项 ” 树来创建 SQL 语句。 1   在 “ 文档 ” 窗口中打开要使用记录集的页面。 2   选择 “ 窗口 ”>“ 绑定 ” 以显示 “ 绑定 ” 面板。 3   在 “ 绑定 ” 面板中,单击加号 (+) 按钮并从弹出菜单中选择 “ 记录集 (查询) ”。 出现高级 “ 记录集 ” 对话框。如果开发的是 ColdFusion 站点,则该 “ 记录集 ” 对话框略有不同。(如果出现的是简单 “ 记录 集 ” 对话框,则请通过单击 “ 高级 ” 按钮切换到高级 “ 记录集 ” 对话框。) 4   完成高级 “ 记录集 ” 对话框。 有关说明,请参见下列主题。 5   单击 “ 测试 ” 按钮执行查询,并确保该查询检索到自己想要的信息。 如果定义了使用用户输入的参数的过滤器,则单击 “ 测试 ” 按钮时将显示 “ 测试值 ” 对话框。在 “ 测试值 ” 框中输入一个值, 然后单击 “ 确定 ”。记录集实例成功创建时,将出现一个显示该记录集中数据的表格。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   469 生成动态页 6   单击 “ 确定 ” 将该记录集添加到 “ 绑定 ” 面板的可用内容源列表中。 更多帮助主题 第 471 页的 “ 使用数据库项树创建 SQL 查询 ” 第 444 页的 “ASP 开发人员的数据库连接 ” 第 450 页的 “ 适用于 PHP 开发人员的数据库连接 ” 第 466 页的 “ 定义动态内容源 ” 第 529 页的 “ 添加预存过程 (ColdFusion)” SQL 入门 高级记录集对话框选项 (PHP、 ASP) 通过编写自定义 SQL 语句或使用图形化 “ 数据库项 ” 树来创建 SQL 语句,将记录集定义为动态内容源。 1   在 “ 名称 ” 框中,输入记录集的名称。 通常的做法是在记录集名称前添加前缀 rs,以将其与代码中的其它对象名称区分开。例如:rsPressRelease。 记录集名称只能包含字母、数字和下划线 (_)。不能使用特殊字符或空格。 2   从 “ 连接 ” 弹出菜单中选择一个连接。 3   在 SQL 文本区域中输入一个 SQL 语句,或使用对话框底部的图形化 “ 数据库项 ” 树从所选的记录集生成一个 SQL 语句。 若要使用 “ 数据库项 ” 树生成 SQL 语句,请执行以下操作: · 确保 SQL 文本区域为空。 · 展开树的分支直到找到所需的数据库对象,例如表中的列或数据库中的预存过程。 · 选择该数据库对象并单击树右侧的按钮之一。 例如,如果选择表列,则可用的按钮是 “SELECT”、 “WHERE” 和 “ORDER BY”。单击这些按钮之一将关联的子句添加到 SQL 语句中。 您还可以使用在预存过程中预定义的 SQL 语句,方法是从 “ 数据库项 ” 树中选择该预存过程并单击 “ 过程 ” 按钮。 Dreamweaver 将自动填充 “SQL” 和 “ 变量 ” 区域。 4   如果 SQL 语句包含变量,请在 “ 变量 ” 区域中定义它们的值,方法是单击加号 (+) 按钮并输入变量名称、类型 (整数、文 本、日期或浮点数字)、默认值 (在未返回运行时值时变量的取值)和运行时值。 注:在 PHP 中的 SQL 语句内使用变量时, Dreamweaver 自动在变量名称前面添加前导的美元符号,因此可以忽略美元符号 (如 colname 而不是 $colname)。 如果 SQL 语句包含变量,请确保 “ 变量 ” 框的 “ 默认值 ” 列包含有效的测试值。 运行时值通常是用户在 HTML 表单域中输入的 URL 参数或表单参数。 “ 运行时值 ” 列中的 URL 参数: 服务器模型 URL 参数的运行时值表达式 ASP Request.QueryString(“formFieldName”) PHP $_GET['formFieldName'] “ 运行时值 ” 列中的表单参数: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   470 生成动态页 服务器模型 表单参数的运行时值表达式 ASP Request.Form(“formFieldName”) PHP $_POST['formFieldName'] 5   单击 “ 测试 ” 连接到数据库并创建一个记录集实例。 如果 SQL 语句包含变量,则在单击 “ 测试 ” 前,请确保 “ 变量 ” 框的 “ 默认值 ” 列包含有效的测试值。 如果成功,将出现一个显示记录集中数据的表格。每行包含一条记录,而每列表示该记录中的一个域。单击 “ 确定 ” 清除该记 录集。 6   如果对所做的工作感到满意,请单击 “ 确定 ”。 高级记录集对话框选项 (ColdFusion) 使用高级 “ 记录集 ” 对话框来编写自定义 SQL 查询,或在使用指向并单击界面时通过 “ 数据库项 ” 树来创建 SQL 查询。 1   在 “ 名称 ” 框中,输入记录集的名称。 通常的做法是在记录集名称前添加前缀 rs,以将其与代码中的其它对象名称区分开。例如:rsPressReleases 记录集名称只能包含字母、数字和下划线 (_)。不能使用特殊字符或空格。 如果要定义用于 ColdFusion 组件的记录集 (即,如果当前在 Dreamweaver 中打开 CFC 文件),请从 “ 函数 ” 弹出菜单中 选择一个现有的 CFC 函数,或单击 “ 新函数 ” 按钮来创建一个新函数。 注:仅在当前文档为 CFC 文件且您有权访问运行 ColdFusion MX 7 或更高版本的计算机时,才可以使用 “ 函数 ” 弹出菜单。 记录集是在函数中定义的。 2   从 “ 数据源 ” 弹出菜单中选择数据源。 如果该弹出菜单列表中未出现数据源,则需要首先创建 ColdFusion 数据源。 3   如果需要,在 “ 用户名 ” 和 “ 密码 ” 框中,输入 ColdFusion 应用程序服务器的用户名和密码。 访问 ColdFusion 中的数据源时可能需要用户名和密码。如果您没有访问 ColdFusion 中的数据源所需的用户名和密码,请与 组织的 ColdFusion 管理员联系。 4   在 SQL 文本区域中输入一个 SQL 语句,或使用对话框底部的图形化 “ 数据库项 ” 树从所选的记录集生成一个 SQL 语句。 5  (可选)若要使用 “ 数据库项 ” 树生成 SQL 语句,请执行以下操作: · 确保 SQL 文本区域为空。 · 展开树的分支直到找到所需的数据库对象,例如表中的列。 · 选择该数据库对象并单击树右侧的按钮之一。 例如,如果选择表列,则可用的按钮是 “SELECT”、 “WHERE” 和 “ORDER BY”。单击这些按钮之一将关联的子句添加到 SQL 语句中。 如果 SQL 语句包含参数,请在 “ 参数 ” 区域中定义它们的值,方法是单击加号 (+) 按钮并输入参数名称和默认值 (在未返回 运行时的参数取值)。 如果 SQL 语句包含参数,请确保 “ 参数 ” 框的 “ 默认值 ” 列包含有效的测试值。 使用 “ 页面参数 ” 可以为您编写的 SQL 中的运行时值引用提供默认值。例如,下面的 SQL 语句将根据雇员的 ID 值来选择一 条雇员记录。您可以为此参数指定默认值,确保始终能返回运行时值。在本例中, FormFieldName 指的是用户可以在其中输入 雇员 ID 的表单域: SELECT  *  FROM  Employees  WHERE  EmpID  =  +  (Request.Form(#FormFieldName#)) “ 添加页面参数 ” 对话框应包含一个与下面类似的名称 / 值对: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   471 生成动态页 名称 默认值 FormFieldName 0001 运行时值通常是用户在 HTML 表单域中输入的 URL 参数或表单参数。 6   单击 “ 测试 ” 连接到数据库并创建一个记录集实例。 如果 SQL 语句包含运行时引用,则在单击 “ 测试 ” 前,请确保 “ 页面参数 ” 域的 “ 默认值 ” 列包含有效的测试值。 如果成功,将出现一个显示记录集中数据的表格。每行包含一条记录,而每列表示该记录中的一个域。单击 “ 确定 ” 清除该记 录集。 7   如果对所做的工作感到满意,请单击 “ 确定 ”。 定义 SQL 语句中的参数 (ColdFusion) 定义 SQL 语句中的参数;默认值是该参数在未返回运行时值的情况下应使用的值。 1   从 “ 名称 ” 弹出菜单中选择一个参数名称。 2   在 “ 默认参数 ” 框中输入该参数的默认值,并单击 “ 确定 ”。 定义 SQL 语句中的参数 (PHP) 定义 SQL 语句中的参数;默认值是该参数在未返回运行时值的情况下应使用的值。 1   在 “ 名称 ” 框中输入参数名称。 2   在 “ 默认参数 ” 框中输入该参数的默认值。 3   在 “ 运行时值 ” 框中输入参数的运行时值,并单击 “ 确定 ”。 使用数据库项树创建 SQL 查询 可以使用 “ 数据库项 ” 的指向并单击界面创建复杂的 SQL 查询,而不必在 SQL 框中手动键入 SQL 语句。“ 数据库项 ” 树使您 可以选择数据库对象,并使用 SQL SELECT、WHERE 和 ORDER BY 子句链接它们。创建 SQL 查询后,即可使用对话框的 “ 变量 ” 区域定义任何变量。 以下两个示例描述了两个 SQL 语句以及使用高级 “ 记录集 ” 对话框的 “ 数据库项 ” 树创建它们的步骤。 示例 : 选择表 本例选择 Employees 表的全部内容。定义查询的 SQL 语句如下所示: SELECT  *  FROM  Employees 若要创建此查询,请执行以下步骤。 1   展开 Tables 分支以显示所选数据库中的全部表。 2   选择 Employees 表。 3   单击 “Select” 按钮。 4   单击 “ 确定 ” 将记录集添加到 “ 绑定 ” 面板中。 示例 : 从表中选择特定行并对结果进行排序 下例从 Employees 表中选择两行,并使用必须定义的变量选择职业类型。然后,按雇员姓名对结果进行排序。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   472 生成动态页 SELECT  emplNo,  emplName FROM  Employees WHERE  emplJob  =  'varJob' ORDER  BY  emplName 1   展开 Tables 分支以显示所选数据库中的所有表,然后展开 Employees 表以显示单独的表行。 2   按下列步骤生成 SQL 语句: · 选取 emplNo 并单击 “Select” 按钮。 · 选取 emplName 并单击 “Select” 按钮。 · 选取 emplJob, 并单击 “Where” 按钮。 · 选取 emplName 并单击 “Order By” 按钮。 3   将插入点放在 SQL 文本区域中的 WHERE emplJob 后面,然后键入 ='varJob' (包括等号)。 4   定义变量 'varJob',方法为单击“变量”区域中的加号 (+) 按钮,然后在“名称”、“默认值”和“运行时值”列中分别输入下列值: varJob、 CLERK 和 Request("job")。 5   单击 “ 确定 ” 将记录集添加到 “ 绑定 ” 面板中。 定义 URL 参数 URL 参数存储用户输入的检索信息。开始之前,请确保将表单或 URL 参数传递到服务器。定义 URL 变量后,即可在当前所 选页面中使用其值。 1   在 “ 文档 ” 窗口中打开要使用该变量的页面。 2   选择 “ 窗口 ”>“ 绑定 ” 以显示 “ 绑定 ” 面板。 3   在 “ 绑定 ” 面板中单击加号 (+) 按钮,然后从弹出菜单中选择下列选项之一: 文档类型 绑定面板中用于 URL 变量的菜单项 ASP 请求变量 > Request.QueryString ColdFusion URL 变量 PHP URL 变量 4   在 “URL 变量 ” 对话框的框中输入 URL 变量的名称,并单击 “ 确定 ”。 URL 变量的名称通常是用于获得变量值的 HTML 表单域或对象的名称。 5   URL 变量即会出现在 “ 绑定 ” 面板中。 更多帮助主题 第 462 页的 “ 关于 URL 参数和表单参数 ” 第 479 页的 “ 向页面添加动态内容 ” 第 544 页的 “URL 参数 ” 第 465 页的 “ColdFusion 服务器变量 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   473 生成动态页 定义表单参数 表单参数存储包含在网页的 HTTP 请求中的检索信息。如果创建使用 POST 方法的表单,则通过该表单提交的数据将传递到服 务器。开始之前,请确保将表单参数传递到服务器。将表单参数定义为内容源后,即可在页面中使用其值。 1   在 “ 文档 ” 窗口中打开要使用该变量的页面。 2   选择 “ 窗口 ”>“ 绑定 ” 以显示 “ 绑定 ” 面板。 3   在 “ 绑定 ” 面板中单击加号 (+) 按钮,然后从弹出菜单中选择下列选项之一: 文档类型 绑定面板中用于表单变量的菜单项 ASP 请求变量 > Request.Form ColdFusion 表单变量 PHP 表单变量 4   在 “ 表单变量 ” 对话框中,输入该表单变量的名称,并单击 “ 确定 ”。表单参数的名称通常是用于获得其值的 HTML 表单域或 对象的名称。 表单参数即会出现在 “ 绑定 ” 面板中。 更多帮助主题 第 461 页的 “ 关于动态内容源 ” 第 462 页的 “ 关于 URL 参数和表单参数 ” 第 475 页的 “ 定义服务器变量 ” 定义会话变量 可以使用会话变量来存储和显示在用户访问 (或会话)期间保持的信息。服务器为每个用户创建不同的阶段对象并保持一段固 定时间,或直至该对象被明确终止。 定义页面的会话变量之前,必须先在源代码中创建它们。在 Web 应用程序的源代码中创建会话变量后,即可使用 Dreamweaver 检索变量值并将其用于 Web 页中。 1   在源代码中创建一个会话变量并为其指定值。 例如,下面的 ColdFusion 示例实例化一个名为 username 的会话,并为其指定值 Cornelius: 2   选择 “ 窗口 ”>“ 绑定 ” 显示 “ 绑定 ” 面板。 3   单击加号 (+) 按钮并从弹出菜单中选择 “ 会话变量 ”。 4   输入应用程序源代码中定义的变量名称,并单击 “ 确定 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   474 生成动态页 更多帮助主题 第 543 页的 “ 从用户处收集信息 ” 第 462 页的 “ 会话变量的工作方式 ” 第 462 页的 “ 在会话变量中收集、存储和检索信息 ” 定义用于 ASP 和 ColdFusion 的应用程序变量 在 ASP 和 ColdFusion 中,可以使用应用程序变量来存储和显示某些信息,这些信息在应用程序的生存期内被保持并且在用 户改变时仍持续存在。定义了应用程序变量后,就可以在页面中使用它的值。 注:PHP 中没有应用程序变量对象。 1   在 “ 文档 ” 窗口中打开动态文档类型。 2   选择 “ 窗口 ”>“ 绑定 ” 显示 “ 绑定 ” 面板。 3   单击加号 (+) 按钮并从弹出菜单中选择 “ 应用程序变量 ”。 4   输入应用程序源代码中定义的变量名称,并单击 “ 确定 ”。 应用程序变量即会出现在 “ 应用程序 ” 图标下的 “ 绑定 ” 面板中。 更多帮助主题 第 479 页的 “ 关于添加动态内容 ” 第 475 页的 “ 定义服务器变量 ” 使用变量作为 ColdFusion 记录集的数据源 在 “ 绑定 ” 面板中定义页面的记录集时, Dreamweaver 将在页面上的 cfquery 标签中输入 ColdFusion 数据源的名称。要获 得更大的灵活性,可将数据源名称存储在一个变量中,并在 cfquery 标签中使用该变量。Dreamweaver 为在记录集中指定类似 变量提供了一种可视化方法。 1   确保 ColdFusion 页在 “ 文档 ” 窗口中处于活动状态。 2   在 “ 绑定 ” 面板中,单击加号 (+) 按钮并从弹出菜单中选择 “ 数据源名称变量 ”。 出现 “ 数据源名称变量 ” 对话框。 3   定义一个变量,然后单击 “ 确定 ”。 4   定义记录集时,请选择该变量作为记录集的数据源。 在 “ 记录集 ” 对话框中,该变量与服务器上的 ColdFusion 数据源一起出现在 “ 数据源 ” 弹出菜单中。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   475 生成动态页 5   完成 “ 记录集 ” 对话框设置,然后单击 “ 确定 ”。 6   初始化变量。 Dreamweaver 不会为您初始化变量,这样,您便可以按自己的需要对其进行初始化。您可以在页面代码中 (cfquery 标签之 前)、包含文件中或在某些其它文件中将该变量初始化为会话变量或应用程序变量。 定义服务器变量 您可以将服务器变量定义为动态内容源,以便在 Web 应用程序中使用。服务器变量因文档类型而异,其中包括表单变量、 URL 变量、会话变量和应用程序变量。 所有访问该服务器的客户端以及在该服务器上运行的任何应用程序都可以访问服务器变量。这些变量将一直持续到服务器停止 工作。 更多帮助主题 第 479 页的 “ 向页面添加动态内容 ” 第 544 页的 “URL 参数 ” 第 543 页的 “HTML 表单参数 ” 第 465 页的 “ColdFusion 服务器变量 ” 定义 ColdFusion 服务器变量 1   打开 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)。在 “ 服务器变量 ” 对话框中,输入服务器变量的名称,并单击 “ 确定 ”。 2   单击加号 (+) 按钮并从弹出菜单中选择服务器变量。 3   输入变量的名称,并单击 “ 确定 ”。 ColdFusion 服务器变量即会出现在 “ 绑定 ” 面板中。 下表列出了内置的 ColdFusion 服务器变量: 变量 说明 Server.ColdFusion.ProductName ColdFusion 产品名。 Server.ColdFusion.ProductVersion ColdFusion 版本号。 Server.ColdFusion.ProductLevel ColdFusion 版本 (企业版、专业版)。 Server.ColdFusion.SerialNumber 当前安装的 ColdFusion 版本的序列号。 Server.OS.Name 服务器上运行的操作系统的名称 (Windows XP、 Windows 2000、 Linux)。 Server.OS.AdditionalInformation 有关已安装的操作系统的附加信息 (服务包、更新)。 Server.OS.Version 已安装的操作系统的版本。 Server.OS.BuildNumber 已安装的操作系统的版本号。 定义 ColdFusion 本地变量 本地变量是在 ColdFusion 页面中用 CFSET 标签或 CFPARAM 标签创建的。定义的本地变量即会出现在 “ 绑定 ” 面板中。 ❖  在 “ 本地变量 ” 对话框中,输入本地变量的名称,并单击 “ 确定 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   476 生成动态页 定义 ASP 服务器变量 可以将以下 ASP 服务器变量定义为动态内容源:Request.Cookie、 Request.QueryString、 Request.Form、 Request.ServerVariables 和 Request.ClientCertificates。 1   打开 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)。 2   单击加号 (+) 按钮并从弹出菜单中选择 “ 请求变量 ”。 3   在 “ 请求变量 ” 对话框中,从 “ 类型 ” 弹出菜单中选择以下请求集合之一: QueryString 集合  检索附加到发送页面的 URL 中的信息(例如,当该页面包含使用 GET 方法的 HTML 表单时)。查询字符 串由一个或多个名称 / 值对 (例如  last=Smith、 first=Winston)组成,这些名称 / 值对使用一个问号 (?). 如果查询字符串包含 多个名称 / 值对,则使用 (&) 符号将它们合并在一起。 Form 集合  检索表单信息,这些信息包含在使用 POST 方法的 HTML 表单所发送的 HTTP 请求的正文中。 ServerVariables 集合  检索预定义环境变量的值。该集合含有一个很长的变量列表,包括 CONTENT_LENGTH (HTTP 请 求中所提交内容的长度,可以用它查看表单是否为空)和 HTTP_USER_AGENT (提供有关用户浏览器的信息)。 例如, Request.ServerVariables("HTTP_USER_AGENT") 包含有关提交信息的浏览器的信息,如 Mozilla/4.07 [en] (WinNT; I), 表示浏览器为 Netscape Navigator 4.07 浏览器。 有关 ASP 服务器环境变量的完整列表,请参阅与 Microsoft Personal Web Server (PWS) 或 Internet Information Server (IIS) 一起安装的在线文档。 Cookies 集合  检索在 HTTP 请求中发送的 Cookie 的值。例如,假设页面读取用户系统上的一个名为 “readMe” 的 Cookie。 在服务器上,该 Cookie 的值保存在变量 Request.Cookies("readMe") 中。 ClientCertificate 集合  从浏览器发送的 HTTP 请求中检索认证域。 X.509 标准中指定了认证域。 4   指定集合中您要访问的变量,并单击 “ 确定 ”。 例如,如果要访问 Request.ServerVariables("HTTP_USER_AGENT") 变量中的信息,请输入 HTTP_USER_AGENT。如果要访 问 Request.Form("lastname") 变量中的信息,请输入参数 lastname。 请求变量即会出现在 “ 绑定 ” 面板中。 定义 PHP 服务器变量 将服务器变量定义为 PHP 页的动态内容源。 PHP 服务器变量即会出现在 “ 绑定 ” 面板中。 1   打开 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)。 2   单击加号 (+) 按钮并从弹出菜单中选择该变量。 3   在 “ 请求变量 ” 对话框中,输入变量的名称 (例如 REQUEST_METHOD),并单击 “ 确定 ”。 有关详细信息,请在 PHP 文档中搜索关键字 $_SERVER。 定义 ColdFusion 客户端变量 将 ColdFusion 客户端变量定义为页面的动态内容源。新定义的 ColdFusion 客户端变量即会出现在 “ 绑定 ” 面板中。 ❖  在 “ 客户端变量 ” 对话框中,输入变量的名称,并单击 “ 确定 ”。 例如,要访问 Client.LastVisit ColdFusion 变量中的信息,请输入 LastVisit。 客户端变量是在代码中创建的、用于将数据和特定客户端关联的变量。当用户在应用程序中从一个页面移动到另一个页面或从 一个会话移动到另一个会话时,客户端变量将会保持应用程序的状态。 客户端变量可以是用户定义的也可以是内置的。下表列出了内置的 ColdFusion 客户端变量: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   477 生成动态页 变量 说明 Client.CFID 每个连接到服务器的客户端的递增 ID。 Client.CFTOKEN 随机生成的用于唯一标识特定客户端的编号。 Client.URLToken 不使用 Cookie 时,在模板之间传递的 CFID 和 CFTOKEN 的组合。 Client.LastVisit 记录客户端所进行的最后一次访问的时间戳。 Client.HitCount 单个客户端的页面请求数 (使用 CFID 和 CFTOKEN 跟踪)。 Client.TimeCreated 记录第一次为特定客户端创建 CFID 和 CFTOKEN 时的时间戳。 定义 ColdFusion Cookie 变量 Cookie 变量即会在代码中创建,并访问由浏览器传递给服务器的 Cookie 中包含的信息。定义的 Cookie 变量即会出现在 “ 绑 定 ” 面板中。 ❖  在 “Cookie 变量 ” 对话框中,输入 Cookie 变量的名称,并单击 “ 确定 ”。 定义 ColdFusion CGI 变量 定义的 CGI 变量即会出现在 “ 绑定 ” 面板中。 ❖  在 “CGI 变量 ” 对话框中,输入变量的名称,并单击 “ 确定 ”。 例如,如果要访问 CGI.HTTP_REFERER  变量中的信息,请输入 HTTP_REFERER。 下表列出了在服务器中创建的最常见的 ColdFusion CGI 变量: 变量 说明 SERVER_SOFTWARE 回复请求 (以及运行网关)的信息服务器软件的名称和版本。格式 : name/version. SERVER_NAME 服务器的主机名、 DNS 别名或出现在自引用的 URL 中的 IP 地址。 GATEWAY_INTERFACE 该服务器遵守的 CGI 规范的修订版。格式 : CGI/ 修订版。 SERVER_PROTOCOL 此请求附带的信息协议的名称和修订版。格式 : 协议 / 修订版。 SERVER_PORT 该请求发送到的端口号。 REQUEST_METHOD 发送该请求时使用的方法。对于 HTTP,即为 Get、 Head、 Post 等。 PATH_INFO 客户端提供的额外路径信息。可以通过后跟额外信息的虚拟路径名访问脚本。额外信息作为 PATH_INFO 发 送。 PATH_TRANSLATED 服务器提供 PATH_INFO 的转换版本,它采用该路径并对其执行任何虚拟 - 物理映射。 SCRIPT_NAME 所执行脚本的虚拟路径;用于自引用的 URL。 QUERY_STRING 引用此脚本的 URL 中问号 (?) 后面的 查询信息。 REMOTE_HOST 发送请求的主机名。如果服务器没有该项信息,它将设置 REMOTE_ADDR,但不设置 REMOTE_HOST。 REMOTE_ADDR 发送请求的远程主机的 IP 地址。 AUTH_TYPE 如果服务器支持用户身份验证,并且脚本是受保护的,则此变量是用于验证用户的、协议特定的身份验证方 法。 REMOTE_USER AUTH_USER 如果服务器支持用户身份验证,并且脚本是受保护的,则此变量为已验证有效的用户名。(也可用作 AUTH_USER。) 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   478 生成动态页 变量 说明 REMOTE_IDENT 如果 HTTP 服务器支持 RFC 931 标识,此变量将设置为从服务器检索到的远程用户名。此变量仅用于日志记 录。 CONTENT_TYPE 对于含有附加信息的查询 (如 HTTP POST 和 PUT),此变量为数据的内容类型。 CONTENT_LENGTH 客户端提供的内容的长度。 下表列出了由浏览器创建并传递给服务器的最常见的 CGI 变量: 变量 说明 HTTP_REFERER 引用文档。它指的是链接到或提交表单数据的文档。 HTTP_USER_AGENT 客户端当前用于发送请求的浏览器。格式 : 软件 / 版本 库 / 版本。 HTTP_IF_MODIFIED_SINCE 最后一次修改页面的时间。浏览器负责发送此变量,通常是响应已发送 LAST_MODIFIED HTTP 标题的服 务器。此变量可用于利用浏览器端的缓存。 缓存内容源 可以在 “ 设计备注 ” 中缓存或存储动态内容源。这样,即使您无法访问存储动态内容源的数据库或应用程序服务器,也可以在 站点中工作。通过消除对数据库和应用程序服务器的网络重复访问,缓存还可能会加快开发速度。 ❖  单击 “ 绑定 ” 面板右上角的箭头按钮,并在弹出菜单中切换 “ 缓存 ”。 如果对其中一个内容源进行了更改,可以单击 “ 绑定 ” 面板右上角的 “ 刷新 ” 按钮 (圆形箭头图标)刷新缓存。(如果看不到 该按钮,请展开面板。) 更改或删除内容源 可以更改或删除任何现有的动态内容源,即 “ 绑定 ” 面板中列出的任何内容源。 在 “ 绑定 ” 面板中更改或删除内容源不会 更改或删除页面中该内容的任何实例。而只是将它作为可能的页面内容源进行更改或 删除。 在绑定面板中更改内容源 1   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,双击要编辑的内容源的名称。 2   在出现的对话框中进行更改。 3   如果对所做的工作感到满意,请单击 “ 确定 ”。 从绑定面板中删除内容源 1   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,从列表中选择内容源。 2   单击减号 (-) 按钮。 将记录集从一个页面复制到另一个页面 在定义的站点内,可以将记录集从一个页面复制到另一个页面。 1   在 “ 绑定 ” 面板或 “ 服务器行为 ” 面板中选择记录集。 2   右键单击该记录集并从弹出菜单中选择 “ 复制 ”。 3   打开您想要向其复制记录集的页面。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   479 生成动态页 4   右键单击 “ 绑定 ” 面板或 “ 服务器行为 ” 工具栏,并从弹出菜单中选择 “ 粘贴 ”。 更多帮助主题 第 461 页的 “ 关于动态内容源 ” 第 478 页的 “ 更改或删除内容源 ” 向页面添加动态内容 关于添加动态内容 定义一个或多个动态内容源后,可以使用这些源向页面中添加动态内容。内容源可以包括记录集中的列、 HTML 表单提交的 值、服务器对象中包含的值或其它数据。 在 Dreamweaver 中,几乎可以将动态内容放在 Web 页或其 HTML 源代码的任何地方。可以将动态内容放在插入点、替换 文本字符串,或作为 HTML 属性插入。例如,动态内容可以定义图像的 src 属性或表单域的 value 属性。 通过在 “ 绑定 ” 面板中选择内容源,可以向页面中添加动态内容。 Dreamweaver 在页面的代码中插入一个服务器端脚本,以 指示服务器在浏览器请求该页面时,将内容源中的数据传输到页面的 HTML 代码中。 通常有多种将给定的页面元素动态化的方法。例如,若要将图像动态化,可以使用 “ 绑定 ” 面板、属性检查器或 “ 插入 ” 菜单 中的 “ 图像 ” 命令。 默认情况下,一个 HTML 页面一次只能显示一条记录。若要显示记录集中的其它记录,可以添加一个链接以便逐条显示记 录,也可以创建重复区域以便在单个页面上显示多条记录。 更多帮助主题 第 466 页的 “ 定义动态内容源 ” 第 485 页的 “ 创建记录集导航条 ” 第 487 页的 “ 显示多个记录集结果 ” 第 484 页的 “ 将印刷和页面布局元素应用于动态数据 ” 第 490 页的 “ 使用预定义的数据格式 ” 关于动态文本 动态文本采用应用于现有文本或插入点的任何文本格式。例如,如果堆叠样式表 (CSS) 样式影响所选的文本,则替换该文本的 动态内容也将受到这种样式的影响。可以使用任何一种 Dreamweaver 文本格式设置工具添加或更改动态内容的文本格式。 还可以将数据格式应用于动态文本。例如,如果数据中含有日期,则可以指定一种特定的日期格式,如适用于美国访问者的 04/17/00 或适用于加拿大访问者的 17/04/00。 将文本动态化 可以用动态文本替换现有文本,也可以将动态文本放置在页面的某个给定插入点处。 更多帮助主题 第 461 页的 “ 关于记录集 ” 第 490 页的 “ 使用预定义的数据格式 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   480 生成动态页 添加动态文本 1   在 “ 设计 ” 视图中,选择页面上的文本,或者单击您要添加动态文本的位置。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,从列表中选择内容源。如果选择记录集,请在记录集中指定所需的列。 内容源应包含纯文本 (ASCII 文本)。纯文本包括 HTML。如果列表中没有内容源,或者可用的内容源不能满足您的需要, 请单击加号 (+) 按钮以定义新的内容源。 3  (可选)为该文本选择一种数据格式。 4   单击 “ 插入 ”,或将内容源拖到页面上。 此时将显示动态内容的占位符。(如果选择了页面上的文本,则占位符会替换所选文本)。表示记录集内容的占位符使用下面的 语法 {RecordsetName.ColumnName},其中 Recordset 是记录集的名称,而 ColumnName 是从该记录集中选择的列的名称。 有时,代表动态文本的占位符的长度会破坏 “ 文档 ” 窗口中的页面布局。可通过使用空的大括号作为占位符来解决这个问题, 如下面的主题所述。 显示表示动态文本的占位符 1   选择“编辑”>“首选参数”>“不可见元素”(Windows) 或者选择“Dreamweaver”>“首选参数”>“不可见元素”(Macintosh)。 2   在 “ 显示动态文本于 ” 弹出菜单中选择 {},然后单击 “ 确定 ”。 将图像动态化 可以将页面上的图像动态化。例如,假设您要设计一个页面,上面显示将要在慈善拍卖会上拍卖的物品。每个页面都将包含描 述性文本和一件物品的一张照片。虽然每项的页面总体布局都一样,但照片 (和描述性文本)会有所不同。 1   在 “ 设计 ” 视图 (“ 查看 ”>“ 设计 ”)中打开页面,将插入点放置在页面上您希望图像出现的位置。 2   选择 “ 插入 ”>“ 图像 ”。 出现 “ 选择图像源 ” 对话框。 3   单击 “ 数据源 ” 选项 (Windows) 或 “ 数据源 ” 按钮 (Macintosh)。 出现内容源列表。 4   从列表中选择一个内容源并单击 “ 确定 ”。 内容源应是一个包含图像文件路径的记录集。根据站点的文件结构的不同,这些路径可以是绝对路径、文档相对路径或根目录 相对路径。 注:Dreamweaver 目前还不支持存储在数据库中的二进制图像。 如果列表中没有出现任何记录集,或者可用的记录集不能满足您的需要,请定义新的记录集。 更多帮助主题 第 466 页的 “ 不通过编写 SQL 来定义记录集 ” 将 HTML 属性动态化 通过将 HTML 属性绑定到数据可以动态地更改页面的外观。例如,通过将表格的 background 属性绑定到记录集中的域,可以 更改表格的背景图像。 可以使用 “ 绑定 ” 面板或属性检查器绑定 HTML 属性。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   481 生成动态页 使用绑定面板将 HTML 属性动态化 1   通过选择 “ 窗口 ”>“ 绑定 ” 打开 “ 绑定 ” 面板。 2   确保 “ 绑定 ” 面板列出了您要使用的数据源。 内容源应包含与您要绑定的 HTML 属性相适合的数据。如果列表中没有出现任何内容源,或者可用的内容源不能满足您的需 要,请单击加号 (+) 按钮以定义新的数据源。 3   在 “ 设计 ” 视图中选择 HTML 对象。 例如,若要选择 HTML 表格,请在表格内单击,然后在位于 “ 文档 ” 窗口左下方的标签选择器内单击  标签。 4   在 “ 绑定 ” 面板中,从列表中选择一种内容源。 5   在 “ 绑定到 ” 框中,从弹出菜单中选择一种 HTML 属性。 6   单击 “ 绑定 ”。 当该页面下次在应用程序服务器中运行时,数据源的值将会赋给该 HTML 属性。 使用属性检查器将 HTML 属性动态化 1   在 “ 设计 ” 视图中选择一个 HTML 对象,然后打开属性检查器 (“ 窗口 ”>“ 属性 ”)。 例如,若要选择 HTML 表格,请在表格内单击,然后在位于 “ 文档 ” 窗口左下方的标签选择器内单击 
       标签。 2   将动态内容源绑定到 HTML 属性的方式取决于该内容源所在的位置。 · 如果在属性检查器中您要绑定的属性旁有一个文件夹图标,则单击该文件夹图标以打开一个文件选择对话框;然后单击 “ 数 据源 ” 选项来显示数据源列表。 · 如果您要绑定的属性旁边没有文件夹图标,请单击检查器左侧的 “ 列表 ” 标签 (两个标签中位置较低的那个)。 属性检查器的 “ 列表 ” 视图随即出现。 · 如果 “ 列表 ” 视图中未列出您要绑定的属性,请单击加号 (+) 按钮,然后输入属性的名称,或者单击小箭头按钮并从弹出菜单 中选择该属性。 3   若要将属性值动态化,请单击该属性,然后单击位于该属性行末端的闪电图标或文件夹图标。 如果单击了闪电图标,则将会出现一个数据源列表。 如果单击了文件夹图标,则将会出现一个文件选择对话框。选择 “ 数据源 ” 选项以显示内容源列表。 4   从内容源列表中选择一种内容源,然后单击 “ 确定 ”。 该内容源应包含与您要绑定的 HTML 属性相适合的数据。如果列表中没有出现任何内容源,或者可用的内容源不能满足您的 需要,请定义新的内容源。 当该页面下次在应用程序服务器中运行时,数据源的值将会赋给该 HTML 属性。 将 ActiveX、 Flash 和其它对象参数动态化 可以将 Java 小程序和插件的参数动态化,也可以将 ActiveX、Flash、Shockwave、Director 和 Generator 对象的参数动态 化。 开始之前,请确保记录集中的字段包含与您要绑定的对象参数相适合的数据。 1   在 “ 设计 ” 视图中,选择页面上的一个对象,然后打开属性检查器 (“ 窗口 ”>“ 属性 ”)。 2   单击 “ 参数 ” 按钮。 3   如果列表中没有出现您需要的参数,请单击加号 (+) 按钮然后在 “ 参数 ” 列中输入参数名称。 4   单击参数的 “ 值 ” 列,然后单击闪电图标以指定一个动态值。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   482 生成动态页 将出现数据源列表。 5   从列表中选择一个数据源并单击 “ 确定 ”。 该数据源应包含与您要绑定的对象参数相适合的数据。如果列表中没有显示任何数据源,或者可用的数据源不能满足您的需 要,请定义新的数据源。 更多帮助主题 第 466 页的 “ 定义动态内容源 ” 更改动态内容 关于动态内容 通过对提供内容的服务器行为进行编辑,可以更改页面上的动态内容。例如,您可以编辑记录集服务器行为,以便向页面提供 更多的记录。 在 “ 服务器行为 ” 面板中列出了页面上的动态内容。例如,如果向页面中添加了某记录集,则 “ 服务器行为 ” 面板以如下方式 将其列出: Recordset(myRecordset) 如果向页面中添加另一个记录集,则 “ 服务器行为 ” 面板以如下方式列出这两个记录集: Recordset(mySecondRecordset)Recordset(myRecordset) 编辑动态内容 1   打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)。 2   单击加号 (+) 按钮以显示服务器行为,然后双击面板中的服务器行为。 出现用于定义原始数据源的对话框。 3   在该对话框中进行更改,然后单击 “ 确定 ”。 删除动态内容 ❖  在页面中添加动态内容之后,可以用以下方式之一将其删除: · 选择页面上的动态内容并按 Delete。 · 在 “ 服务器行为 ” 面板中选择动态内容,然后单击减号 (-) 按钮。 注:此操作移除页面中从数据库检索该动态内容的服务器端脚本。它并不删除数据库中的数据。 测试动态内容 您可以使用 “ 实时 ” 视图预览和编辑动态内容。 显示动态内容时,可以执行下列任务: · 使用页面设计工具调整页面的布局 · 添加、编辑或删除动态内容 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   483 生成动态页 · 添加、编辑或删除服务器行为 1   单击 “ 实时 ” 视图按钮以显示动态内容。 2   对页面进行必要的更改。您将需要在 “ 实时 ” 视图和 “ 设计 ” 或 “ 代码 ” 视图之间切换,以进行更改和查看更改如何生效。 更多帮助主题 第 543 页的 “HTML 表单参数 ” 第 544 页的 “URL 参数 ” 第 462 页的 “ 会话变量的工作方式 ” 允许 Adobe Contribute 用户编辑动态内容 当 Contribute 用户编辑包含动态内容或不可见元素 (例如脚本和注释)的页面时, Contribute 会将动态内容和不可见元素 显示为黄色标记。默认情况下, Contribute 用户无法选择或删除这些标记。 如果希望 Contribute 用户能够选择和删除页面中的动态内容和其它不可见元素,可更改权限组设置以允许如此操作。通常, Contribute 用户在任何情况下都不可以编辑动态内容,甚至当您允许他们选择动态内容时也不可以。 注:利用某些服务器技术,您可使用服务器标签或函数来显示静态文本。若要允许 Contribute 用户编辑使用此类服务器技术 的动态页中的静态文本,请将静态文本放在服务器标签之外。有关详细信息,请参阅管理 Adobe Contribute。 1   选择 “ 站点 ”>“ 在 Contribute 管理站点 ”。 2   如果某些 Contribute 兼容性功能要求的选项没有启用,则会出现一个对话框,询问是否要启用这些选项。单击 “ 确定 ” 启用 这些选项和 Contribute 的兼容性功能。 3   如果出现提示,请输入管理员密码,然后单击 “ 确定 ”。 随即出现 “ 管理网站 ” 对话框。 4   在 “ 用户和角色 ” 类别中,选择角色,然后单击 “ 编辑角色设置 ” 按钮。 5   选择 “ 编辑 ” 类别,然后取消选择保护脚本和表单的选项。 6   单击 “ 确定 ” 关闭 “ 编辑设置 ” 对话框。 7   单击 “ 关闭 ” 关闭 “ 管理 Web 站点 ” 对话框。 更多帮助主题 第 42 页的 “ 使用 Dreamweaver 管理 Contribute 站点 ” 第 330 页的 “ 为 Contribute 站点创建模板 ” 使用属性检查器修改记录集 属性检查器用于修改选定的记录集。可用选项因服务器模型而异。 1   打开属性检查器 (“ 窗口 ”>“ 属性 ”),然后在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中选择该记录集。 2   编辑所有选项。在检查器中选择了新选项之后, Dreamweaver 会更新页面。 更多帮助主题 第 482 页的 “ 编辑动态内容 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   484 生成动态页 显示数据库记录 关于数据库记录 显示数据库记录涉及检索储存在数据库或其它内容源中的信息,以及将这些信息呈现到网页上。 Dreamweaver 提供了许多显 示动态内容的方法,并提供了若干内置的服务器行为,使您可以增强动态内容的表现方式,并使用户能够更轻松地查找和导航 从数据库返回的信息。 数据库和其它动态内容源为您搜索、排序和查看大量存储的信息提供了更多功能和灵活性。如果需要存储大量信息然后有目的 地检索并显示这些信息,那么使用数据库存储 Web 站点的内容将是一个不错的方法。 Dreamweaver 为您提供了多种工具和 预置行为,帮助您有效检索和显示存储在数据库中的信息。 服务器行为和格式元素 Dreamweaver 提供了下列服务器行为和格式元素,使您可以增强动态数据的显示效果: 格式  使您可以将不同类型的数字、货币、日期和时间以及百分比值应用于动态文本。 例如,如果记录集中某项的价格显示为 10.989,则选择 Dreamweaver 的 “ 货币 - 用 2 位小数表示 ” 格式后,该价格在页面上 显示为 $10.99。这种格式使用两个小数位显示数字。如果数字具有两位以上的小数位,该数据格式会将数字四舍五入到最接近 的数。如果数字不带小数位,该数据格式会添加一个小数点和两个零。 重复区域  服务器行为使您可以显示多个从数据库查询返回的项,还可指定每页显示的记录数。 记录集导航  服务器行为使您可以插入导航元素,使用户能够移动到从记录集返回的下一组或前一组记录。例如,如果使用 “ 重 复区域 ” 服务器对象选择每页显示 10 条记录,并且记录集返回 40 条记录,则一次可以浏览 10 条记录。 记录集状态栏  服务器行为使您可以包括计数器,向用户显示他们在记录集中相对于返回的总记录数的位置。 显示区域  服务器行为使您可以根据当前所显示记录的相关性,选择显示或隐藏页面上的项目。例如,如果用户已导航到记录集 中的最后一条记录,您可以隐藏 “ 下一个 ” 链接,而只显示 “ 前一个 ” 记录链接。 将印刷和页面布局元素应用于动态数据 Dreamweaver 的强大功能体现在它可以在结构化页面中显示动态数据,并通过 HTML 和 CSS 应用文字格式。若要将格式应 用于 Dreamweaver 中的动态数据,请使用 Dreamweaver 的格式设置工具设置动态数据的表格和占位符的格式。当数据从数 据源插入时,它会自动采用您指定的字体、段落和表格格式设置。 更多帮助主题 第 145 页的 “ 使用表格显示内容 ” 第 180 页的 “ 添加文本和设置文本格式 ” 数据库记录集结果导航 记录集导航链接使用户可以从一个记录移到下一个,或者从一组记录移到下一组。例如,在设计了每次显示五条记录的页面 后,您可能想要添加诸如 “ 下一页 ” 或 “ 上一页 ” 这类使用户可以显示后五条或前五条记录的链接。 可以创建四类浏览记录集的导航链接:第一个、前一个、下一个和最后一个。一个页面可以包含任意数量的上述链接,只要它 们都使用单一记录集。在同一页中无法添加浏览另一个记录集的链接。 记录集导航链接需要下列动态元素: · 要导航的记录集 · 页面上用来显示记录的动态内容 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   485 生成动态页 · 页面上用作可单击导航条的文本或图像 · 用于浏览记录集的一组 “ 移动到记录 ” 服务器行为 后两个元素可以通过 “ 记录导航条 ” 服务器对象添加,或者分别通过设计工具和 “ 服务器行为 ” 面板添加。 创建记录集导航条 使用 “ 记录集导航条 ” 服务器行为,只需一个操作就可以创建记录集导航条。服务器对象在页面上添加以下构造块: · 包含文本或图像链接的 HTML 表格 · 一组 “ 移到 ” 服务器行为 · 一组 “ 显示区域 ” 服务器行为 “ 记录集导航条 ” 的文本版本看起来像这样: “ 记录集导航条 ” 的图像版本看起来像这样: 在将导航条放到页面上之前,请确保页面包含要导航的记录集和用于显示记录的页面布局。 在将导航条放到页面上之后,可以按照自己的喜好使用设计工具来自定义它。还可以编辑 “ 移到 ” 和 “ 显示区域 ” 服务器行 为,方法是在 “ 服务器行为 ” 面板中双击它们。 Dreamweaver 将创建一个包含文本或图像链接的表格。用户可以通过单击这些链接浏览所选记录集。当显示记录集中的第 一条记录时,会隐藏第一个 和前一个 链接或图像。当显示记录集中的最后一条记录时,会隐藏下一个 和最后一个 链接或图 像。 使用设计工具和 “ 服务器行为 ” 面板可以自定义导航条的布局。 1   在 “ 设计 ” 视图中,将插入点放在页面上您希望显示导航条的位置。 2   显示 “ 记录集导航条 ” 对话框 (“ 插入 ”>“ 数据对象 ”>“ 记录集分页 ”>“ 记录集导航条 ”)。 3   从 “ 记录集 ” 弹出菜单中选择要导航的记录集。 4   从 “ 显示方式 ” 部分中选择用以在页面上显示导航链接的格式,然后单击 “ 确定 ”。 文本  在页面上放置文本链接。 图像  包含作为链接的图形图像。 Dreamweaver 使用它自己的图像文件。在将导航条放到页面上之后,您可以用自己的图像文 件替换这些图像。 自定义记录集导航条 您可以创建自己的记录集导航条,使用比 “ 记录集导航条 ” 服务器对象所创建的简单表格提供的布局和格式样式更为复杂的布 局和格式样式。 若要创建您自己的记录集导航条,必须: · 以文本或图像的形式创建导航链接 · 将链接放在 “ 设计 ” 视图中的页面中 · 为每个导航链接分别指定服务器行为 此部分说明如何将各服务器行为指定给导航链接。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   486 生成动态页 创建服务器行为并将其分配给导航链接 1   在 “ 设计 ” 视图中,选择页面上您希望用作记录导航链接的文本字符串或图像。 2   打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),然后单击加号 (+) 按钮。 3   从弹出菜单中选择 “ 记录集分页 ”,然后从列出的服务器行为中选择适合于该链接的服务器行为。 如果记录集中包含大量记录,则当用户单击 “ 移至最后一条记录 ” 链接时,可能要花费较长时间来运行该服务器行为。 4   在 “ 记录集 ” 弹出菜单中,选择包含该记录的记录集,然后单击确定。 该服务器行为即指定给了导航链接。 设置移到 (服务器行为)对话框选项 添加使用户可以浏览记录集中记录的链接。 1   如果在页面上没有选择任何内容,请从弹出菜单中选择一个链接。 2   选择包含要分页浏览的记录的记录集,然后单击 “ 确定 ”。 注:如果记录集中包含大量记录,则当用户单击 “ 移至最后一条记录 ” 链接时,可能要花费较长时间来运行该服务器行为。 导航条设计任务 创建自定义导航条时,首先要使用 Dreamweaver 的网页设计工具创建它的视觉外观。您不必为文本字符串或图像创建链接, Dreamweaver 会为您创建相应链接。 为其创建导航条的页面中必须包含要导航的记录集。简单的记录集导航条可能如下图所示,它包含用图像创建的链接按钮或其 它内容元素: 在将记录集添加到页面,并且创建了导航条之后,应该将单独的服务器行为应用于每个导航元素。例如,在典型的记录集导航 条中,包含下列与适当行为匹配的链接: 导航链接 服务器行为 转到第一页 移到第一页 转到前一页 移到前一页 转到下一页 移到下一页 转到最后一页 移到最后一页 更多帮助主题 第 461 页的 “ 关于记录集 ” 基于记录集结果显示和隐藏区域 还可以基于记录集是否为空来指定是显示区域还是隐藏区域。如果记录集为空 (例如,在未找到与查询相匹配的记录时),可 以显示一条消息通知用户没有记录返回。这在创建依靠用户输入的搜索词来运行查询的搜索页时尤其有用。同样,如果在连接 到数据库时遇到问题,或者当用户的用户名和密码与服务器识别的不匹配时,可以显示错误消息。 “ 显示区域 ” 服务器行为有: · 如果记录集为空则显示 · 如果记录集非空则显示 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   487 生成动态页 · 如果是第一页则显示 · 如果不是第一页则显示 · 如果是最后一页则显示 · 如果不是最后一页则显示 1   在 “ 设计 ” 视图中,选择页面上要显示或要隐藏的区域。 2   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮。 3   从弹出菜单中选择 “ 显示区域 ”,然后选择一个列出的服务器行为并单击 “ 确定 ”。 更多帮助主题 第 484 页的 “ 关于数据库记录 ” 第 488 页的 “ 创建动态表格 ” 显示多个记录集结果 “ 重复区域 ” 服务器行为允许在页面中显示记录集中的多条记录。任何动态数据选择都可以转变为重复区域。但最常见的区域 是表格、表格行或一系列表格行。 1   在 “ 设计 ” 视图中,选择包含动态内容的区域。 可以选定任意内容,包括表格、表格行甚至一段文本。 若要精确选择页面上的区域,可以使用文档窗口左边角上的标签选择器。例如,如果区域为表行,则在页面上的该行内单击, 然后单击标签选择器最右侧的   标签以选择该表行。 2   选择 “ 窗口 ”>“ 服务器行为 ” 以显示 “ 服务器行为 ” 面板。 3   单击加号 (+) 按钮,并选择 “ 重复区域 ”。 4   从弹出菜单中选择要使用的记录集的名称。 5   选择每页显示的记录数,然后单击 “ 确定 ”。 在 “ 文档 ” 窗口中,重复区域周围会出现一个灰色的选项卡式细轮廓。 更多帮助主题 第 484 页的 “ 关于数据库记录 ” 第 482 页的 “ 编辑动态内容 ” 在属性检查器中修改重复区域 ❖  通过更改以下任意选项来修改所选重复区域: · 重复区域的名称。 · 为重复区域提供记录的记录集。 · 显示的记录数 选择了新的选项之后, Dreamweaver 会更新页面。 创建和添加重复区域以在页面中显示多条记录 1   指定要在重复区域中显示的数据所在的记录集。 2   指定每页显示的记录数,然后单击 “ 确定 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   488 生成动态页 如果指定的每页记录数是有限的,并且所请求的记录数可能超过此数目,则添加记录导航链接以使用户能够显示其它记录。 创建动态表格 下例说明了如何将 “ 重复区域 ” 服务器行为应用于表格行,它指定每页显示 9 条记录。行本身显示四种不同的记录:市 / 县、 省 / 自治区、街道地址和邮政编码。 若要创建像上例这样的表格,必须创建包含动态内容的表格,并将 “ 重复区域 ” 服务器行为应用于包含动态内容的表格行。应 用程序服务器处理页面时,会根据 “ 重复区域 ” 服务器对象中指定的次数重复该行,并在每一个新行中插入不同的记录。 1   执行下列操作之一,插入动态表格: · 选择 “ 插入 ”>“ 数据对象 ”>“ 动态数据 ”>“ 动态表格 ” 以显示 “ 动态表格 ” 对话框。 · 在 “ 插入 ” 面板的 “ 数据 ” 类别中,单击 “ 动态数据 ” 按钮,然后从弹出菜单中选择 “ 动态表格 ” 图标。 2   从 “ 记录集 ” 弹出菜单中选择记录集。 3   选择每页显示的记录数。 4  (可选)输入表格边框、单元格边距和单元格间距的值。 “ 动态表格 ” 对话框会保留您为表格边框、单元格边距和单元格间距输入的值。 注: 如果您处理的项目需要若干具有相同外观的动态表格,则输入表格布局值,这样会进一步简化页面开发。在插入表格后 , 可以通过表格的属性检查器调整这些值。 5   单击 “ 确定 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   489 生成动态页 一个表格和在相关记录集中定义的动态内容的占位符随即插入到页面中。 在本例中,记录集包含四列:AUTHORID、 FIRSTNAME、 LASTNAME 和 BIO。该表的标题行由各列的名称填充。可 以使用任何描述性文本对标题进行编辑,或者用具有代表性的图像替换它们。 创建记录计数器 记录计数器为用户提供了遍历一组记录时的参考信息。通常情况下,记录计数器显示返回的记录总数以及正在查看的当前记 录。例如,如果记录集返回 40 条单独的记录,并且每页显示 8 条记录,则位于首页上的记录计数器将显示 “Displaying records 1-8 of 40” (总共 40 条记录,当前显示 1 - 8 条)。 在为页面创建记录计数器之前,必须首先创建该页的记录集、要包含动态内容的适当页面布局以及记录集导航条。 更多帮助主题 第 461 页的 “ 关于记录集 ” 第 485 页的 “ 创建记录集导航条 ” 第 487 页的 “ 显示多个记录集结果 ” 第 488 页的 “ 创建动态表格 ” 创建简单的记录计数器 记录计数器使用户可以了解相对于返回的记录总数,他们位于给定的一组记录中的位置。由于这个原因,记录计数器是一个有 用的行为,可以显著增加网页的可用性。 使用 “ 记录集导航状态 ” 服务器对象创建简单的记录计数器。此服务器对象在页面上创建显示当前记录状态的文本项。可以使 用 Dreamweaver 页面设计工具自定义记录计数器。 1   将插入点放在想要插入记录计数器的地方。 2   选择“插入”>“数据对象”>“显示记录计数”>“记录集导航状态”,接下来从“记录集”弹出菜单中选择记录集,然后单击“确定 ”。 “ 记录集导航状态 ” 服务器对象随即插入一个类似于下例的文本记录计数器: 在 “ 实时 ” 视图中查看计数器时,它的外观类似于下例: 创建记录计数器并将它添加到页面 ❖  在 “ 插入记录集导航状态 ” 对话框中,选择要跟踪的记录集,并单击 “ 确定 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   490 生成动态页 创建自定义记录计数器 可以使用单独的记录计数行为来创建自定义记录计数器。创建自定义记录计数器使您可以创建比 “ 记录集导航状态 ” 服务器对 象所插入的简单表格 (仅有一行)要复杂的记录计数器。可以通过多种巧妙方式排列设计元素,并将适当的服务器行为应用于 每个元素。 “ 记录计数 ” 服务器行为有: · 显示起始记录编号 · 显示结束记录编号 · 显示总记录数 在为页面创建自定义记录计数器之前,必须首先创建该页的记录集、要包含动态内容的适当页面布局以及记录集导航条。 本例创建的记录计数器看起来类似于 “ 简单的记录计数器 ” 中的示例。本例中,用 sans-serif 字体表示的文本代表将要插入到 页面中的记录计数器占位符。本例中的记录计数器显示如下: 显示 RecordSet.RecordCount 中从 StartRow 到 EndRow 的记录。 1   在 “ 设计 ” 视图中,在页面上输入计数器的文本。该文本可以是您想要的任何内容,例如: Displaying  records  thru  of  . 2   将插入点放在文本字符串的最后。 3   打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)。 4   单击左上角的加号 (+) 按钮,然后单击 “ 显示记录计数 ”。在这个子菜单中,选择 “ 显示总记录数 ”。“ 显示总记录数 ” 行为随即 插入到页面中,而且一个占位符插入到插入点所在的位置。文本字符串现在显示如下: Displaying  records  thru  of  {Recordset1.RecordCount}. 5   将插入点放在单词 records 之后,然后从“服务器行为”>加号 (+) 按钮>“记录计数”面板中选择“显示起始记录编号”。文本字 符串现在显示如下: Displaying  records  {StartRow_Recordset1}  thru  of  {Recordset1.RecordCount}. 6   现在,将插入点放在单词 thru 和 of 之间,然后从 “ 服务器行为 ”> 加号 (+) 按钮 >“ 记录计数 ” 面板中选择 “ 显示开始记录计数 号 ”。文本字符串现在显示如下: Displaying  records  {StartRow_Recordset1}  thru  {EndRow_Recordset1}  of{Recordset1.RecordCount}. 7   确认计数器是否能正常运行,方法是在 “ 实时 ” 视图中查看页面;计数器的外观类似于下例: Displaying  records  1  thru  8  of  40. 如果结果页面中存在转移到下一组记录的导航链接,则单击该链接时,记录计数器的显示将更新为: Showing  records  9  thru  16  of  40. 使用预定义的数据格式 Dreamweaver 包含若干预定义的数据格式,可应用于动态数据元素。数据格式的样式包括日期和时间、货币、数字以及百分 比格式。 将数据格式应用于动态内容 1   在 “ 文档 ” 窗口中,选择动态内容的占位符。 2   选择 “ 窗口 ”>“ 绑定 ” 显示 “ 绑定 ” 面板。 3   单击 “ 格式 ” 列中的向下箭头按钮。 如果未看见向下箭头,请展开面板。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   491 生成动态页 4   从 “ 格式 ” 弹出菜单中选择所需的数据格式类别。 确保选择的数据格式适合要设置格式的数据类型。例如, “ 货币 ” 格式仅在动态数据是由数字数据构成时才有效。注意,对于 同一数据不能应用多个格式。 5   验证是否正确应用了格式,方法是在 “ 实时 ” 视图中预览页面。 自定义数据格式 1   在 “ 设计 ” 视图中打开包含动态数据的页面。 2   选择要自定义其格式的动态数据。 已选定其动态文本的绑定数据项将在 “ 绑定 ” 面板中高亮显示 (“ 窗口 ”>“ 绑定 ”)。面板将为选定项显示两列,即 “ 绑定 ” 和 “ 格式 ”。如果看不到 “ 格式 ” 列,可以将 “ 绑定 ” 面板加宽以显示它。 3   在 “ 绑定 ” 面板中,单击 “ 格式 ” 列中的向下箭头,展开可用数据格式的弹出菜单。 如果看不到向下箭头,则再将 “ 绑定 ” 面板进一步加宽。 4   从弹出菜单中选择 “ 编辑格式列表 ”。 5   完成对话框设置,然后单击 “ 确定 ”。 a   从列表中选择格式,然后单击 “ 编辑 ”。 b   更改 “ 货币 ”、 “ 数字 ” 或 “ 百分比 ” 对话框中的下列任何参数,然后单击 “ 确定 ”。 · 小数点后显示的位数 · 是否在小数的开头部分放置前导零 · 是否对负值使用括号或减号 · 是否将位数分组 c 若要删除数据格式,请在列表中单击该格式,然后单击减号 (-) 按钮。 创建数据格式 (仅 ASP) 1   在 “ 设计 ” 视图中打开包含动态数据的页面。 2   选择要为其创建自定义格式的动态数据。 3   选择 “ 窗口 ”>“ 绑定 ” 显示 “ 绑定 ” 面板,然后单击 “ 格式 ” 列中的向下箭头。如果未看见向下箭头,请展开面板。 4   从弹出菜单中选择 “ 编辑格式列表 ”。 5   单击加号 (+) 按钮并选择一种格式类型。 6   定义格式,然后单击 “ 确定 ”。 7   在 “ 名称 ” 列中输入新格式的名称,然后单击 “ 确定 ”。 注:虽然 Dreamweaver 仅支持为 ASP 页创建数据格式,ColdFusion 和 PHP 用户可以下载其他开发人员创建的格式,还可 以创建服务器格式并将它们发布到 DreamweaverExchange。有关服务器格式 API 的详细信息,请参见 《扩展 Dreamweaver》(“ 帮助 ”>“ 扩展 Dreamweaver”>“ 服务器格式 ”)。 查看动态数据 “ 查看动态数据 ” 功能从 Dreamweaver CS5 开始已被弃用。该功能已替换为更多简化的 “ 实时 ” 视图功能。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   492 生成动态页 若要在 “ 实时 ” 视图中查看动态数据,请确保已进行以下操作: · 定义用于处理动态页面的文件夹 (例如,您的计算机或远程计算机的 ColdFusion 服务器上的根文件夹)。 如果在进入 “ 实时 ” 视图时该页显示错误信息,请确保 “ 站点定义 ” 对话框中的 URL 前缀是正确的。 · 将相关文件 (如果有的话)复制到该文件夹。 · 向页提供用户通常将提供的所有参数。 在 “ 实时 ” 视图中提供包含动态数据的页面 1   打开 “ 实时视图设置 ” 对话框 (“ 视图 ”>“ 实时视图选项 ”>“HTTP 请求设置 ”)。 2   在 “URL 请求 ” 区域,单击加号 (+) 按钮,然后输入页所需要的参数。 3   为每个参数指定名称和测试值。 4   在 “ 方法 ” 弹出菜单中,选择页所需的 HTML 表单方法:POST 或 GET。 5   在 “ 初始化脚本 ” 文本区域中,请包括希望在页运行前插入到其顶端的所有源代码。 初始化脚本通常由设置会话变量的代码组成。 6   若要保存当前页面的设置,请选择 “ 保存该文档的设置 ”,然后单击 “ 确定 ”。 注:若要保存设置,必须启用 “ 设计备注 ” (“ 文件 ”>“ 设计备注 ”)。 实时视图中的动态数据答疑 在实时视图中查看动态数据的许多问题可归因于在 “ 站点定义 ” 对话框 (“ 站点 ”>“ 编辑站点 ”)中缺少值或其中的值不正 确。 请检查 “ 站点定义 ” 对话框的 “ 应用程序服务器 ” 类别。 “ 远程文件夹 ” 框应指定一个能够处理动态页的文件夹。如果在硬盘 上运行的是 IIS 或 PWS,则下面是一个合适的远程文件夹示例: C:\Inetpub\wwwroot\myapp\ 请验证 “URL 前缀 ” 框是否指定了对应 (映射)于远程文件夹的 URL。例如,如果您的本地计算机上正在运行的是 PWS 或 IIS,则下列远程文件夹具有以下 URL 前缀: 远程文件夹 URL 前缀 C:\Inetpub\wwwroot\ http://localhost/ C:\Inetpub\wwwroot\myapp\ http://localhost/myapp/ C:\Inetpub\wwwroot\fs\planes http://localhost/fs/planes 更多帮助主题 第 14 页的 “ 在文档窗口中的视图之间切换 ” 第 238 页的 “ 在 “ 实时 ” 视图中预览页面 ” 第 458 页的 “ 在浏览器中预览动态页 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   493 生成动态页 添加自定义服务器行为 关于自定义服务器行为 Dreamweaver 提供了一组内置的服务器行为,使您能够方便地向站点添加动态功能。您可以扩展 Dreamweaver 功能,方法 是创建满足开发需要的服务器行为,或者从 Dreamweaver Exchange Web 站点获取服务器行为。 在创建您自己的服务器行为之前,请查看 Dreamweaver Exchange Web 站点,了解是否有人已经创建了能提供您希望添加到 Web 站点的功能的服务器行为。通常,第三方开发人员已经创建了能解决您需要的服务器行为并进行了测试。 访问 Dreamweaver Exchange 1   在 Dreamweaver 中,按下列方式之一访问 Dreamweaver Exchange: · 选择 “ 帮助 ”> Dreamweaver Exchange。 · 选择 “ 窗口 ”>“ 服务器行为 ”,单击加号 (+) 按钮,然后选择 “ 获取更多服务器行为 ”。 在浏览器中会打开 Dreamweaver Exchange Web 页。 2   使用您的 Adobe ID 登录该 Exchange,或者如果您尚未创建自己的 Dreamweave Exchange ID,请按照说明开设一个 Adobe 帐户。 在 Dreamweaver 中安装服务器行为或其它功能扩展 1   通过选择 “ 命令 ”>“ 扩展管理 ” 启动扩展管理器。 2   在扩展管理器中,选择 “ 文件 ”>“ 安装扩展 ”。 有关详细信息,请参阅使用功能扩展管理器。 自定义服务器行为工作流程 如果您是一位精通 ColdFusion、 JavaScript、 VBScript 或 PHP 的开发人员,则可以编写自己的服务器行为。创建服务器行 为的步骤包括下列任务: · 编写一个或多个执行所需动作的代码块。 · 指定代码块在页面的 HTML 代码内的插入位置。 · 如果服务器行为要求为参数指定值,则创建一个对话框,提示使用该行为的 Web 开发人员提供一个适当的值。 · 在将该服务器行为提供给他人使用之前,对其进行测试。 更多帮助主题 第 499 页的 “ 请求服务器行为的参数 ” 第 501 页的 “ 测试服务器行为 ” 使用服务器行为创建器 使用 “ 服务器行为创建器 ” 可以添加由服务器行为插入到页中的代码块。 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后选择 “ 新建服务器行为 ”。 2   从 “ 文档类型 ” 弹出菜单中,选择要为其开发服务器行为的文档类型。 3   在 “ 名称 ” 框中,输入服务器行为的名称。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   494 生成动态页 4  (可选)若要复制现有服务器行为以添加到正在创建的行为,请选择 “ 复制现存服务器行为 ” 选项,然后在 “ 要复制的行为 ” 弹 出菜单中选择服务器行为。单击 “ 确定 ”。 显示 “ 服务器行为创建器 ” 对话框。 5   若要添加新的代码块,请单击加号 (+) 按钮,输入代码块名称并单击 “ 确定 ”。 所输入的名称显示在 “ 服务器行为创建器 ” 中, “ 代码块 ” 框中会显示相应的脚本标签。 6   在 “ 代码块 ” 框中,输入实现服务器行为所需的运行时代码。 注:在 “ 代码块 ” 框中输入代码时,仅可为每个命名的代码块 (例如, myBehavior_block1、 myBehavior_block2 和 myBehavior_blockn 等)插入一个标签或代码块。如果需要输入多个标签或代码块,请为每个标签或代码块创建单独的代码块。 也可以从其它页面复制和粘贴代码。 7   将插入点放在代码块中希望插入参数的位置,或者选择要使用参数替换的字符串。 8   单击 “ 在代码块中插入参数 ” 按钮。 9   在 “ 参数名称 ” 框中输入参数名称 (例如, Session),然后单击 “ 确定 ”。 该参数即会插入到定义参数前在代码块中放置的插入点位置处。如果选择了一个字符串,则代码块中该选定字符串的每一个实 例将由参数标记取代 (例如, @@Session@@)。 10 从 “ 插入代码 ” 弹出菜单中选择一个选项,指定在何处嵌入代码块。 11(可选)若要指定有关服务器行为的其它信息,请单击 “ 高级 ” 按钮。 12 若要创建更多的代码块,请重复步骤 5 至 11。 13 如果服务器行为要求向其提供参数,则必须创建一个对话框以便接受应用该行为的人所提供的参数。请参阅下面的链接。 14 执行完创建该服务器行为所需的步骤后,请单击 “ 确定 ”。 “ 服务器行为 ” 面板会列出该服务器行为。 15 测试服务器行为并确保其正确运行。 更多帮助主题 第 497 页的 “ 使用 loop 指令重复代码块 ” 第 501 页的 “ 编码指导原则 ” 第 499 页的 “ 请求服务器行为的参数 ” 第 493 页的 “ 添加自定义服务器行为 ” 高级选项 为每个代码块指定源代码和插入位置之后,服务器行为就被完全定义了。在大多数情况下,不必再指定其它任何信息。 如果您是高级用户,则可以设置以下任何选项: 标识符  指定代码块是否应被视为标识符。 默认情况下,所有代码块都是标识符。如果 Dreamweaver 在文档的任何地方发现标识符代码块,则会将该行为列在 “ 服务器 行为 ” 面板中。 “ 标识符 ” 选项用于指定代码块是否应视为标识符。 服务器行为的代码块中至少有一个必须为标识符。如果为下列情况之一,则代码块不应为标识符:同一个代码块被其它服务器 行为使用;或者代码块非常简单,可能会在页面上自然发生。 服务器行为标题  指定 “ 服务器行为 ” 面板中行为的标题。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   495 生成动态页 当页面设计者单击 “ 服务器行为 ” 面板上的加号 (+) 按钮时,新服务器行为的标题将出现在弹出菜单中。当设计者将服务器行 为的实例应用于文档时,该行为将出现在 “ 服务器行为 ” 面板中的已应用行为列表中。“ 服务器行为标题 ” 框用于指定加号 (+) 弹出菜单和已应用行为列表的内容。 该文本框中的初始值为在 “ 新建服务器行为 ” 对话框中提供的名称。定义参数后,该名称会自动更新,这些参数即会出现在服 务器行为名称后面的括号中。 Set  Session  Variable  (@@Name@@,  @@Value@@) 如果用户接受默认值,括号前面的所有内容 (例如,设置会话变量)都将出现在加号 (+) 弹出菜单中。带有参数的名称将出现 在已应用行为列表中,例如,设置会话变量 ("abcd", "5")。 选定代码块  指定当用户在 “ 服务器行为 ” 面板中选择该行为时将选定的代码块。 在应用服务器行为时,行为中的一个代码块被指定为 “ 选定代码块 ”。如果应用某个服务器行为,然后在 “ 服务器行为 ” 面板 中选择该行为,将会在 “ 文档 ” 窗口选中所指定的块。默认情况下, Dreamweaver 将选择不在 html 标签上方的第一个代码 块。如果所有代码块都在 html 标签上方,将选择第一个代码块。高级用户可以指定哪个代码块是选定的代码块。 创建代码块 在 “ 服务器行为创建器 ” 中创建的代码块封装在服务器行为中,服务器行为显示在 “ 服务器行为 ” 面板中。代码可以是指定服 务器模型的任何有效的运行时代码。例如,如果选择 ColdFusion 作为自定义服务器行为的文档类型,则编写的代码必须是能 在 ColdFusion 应用程序服务器上运行的有效的 ColdFusion 代码。 可以直接在 “ 服务器行为创建器 ” 中创建代码块,也可以从其它来源复制并粘贴代码。在 “ 服务器行为创建器 ” 中创建的每个 代码块都必须为单个标签或脚本块。如果必须插入多个标签代码块,请将它们拆分为单独的代码块。 代码块中的条件 Dreamweaver 使您能够开发包含控制语句的代码块,使这些代码块按条件执行。 “ 服务器行为创建器 ” 使用 if、 elseif 和 else 语句,并可能包含服务器行为参数。这允许您根据服务器行为参数间的 OR 关系值来插入备选文本块。 下例显示 if, elseif 和 else 语句。方括号 ([ ]) 表示可选代码,星号 (*) 表示零个或更多实例。若要仅在某个或某些条件适用时才 执行部分代码块或整个代码块,请使用以下语法: <@  if  (expression1)  @>conditional  text1[<@  elseif  (expression2)  @>conditional  text2]*[<@  else  @> conditional  text3]<@  endif  @> 条件表达式可以是任何能够使用 JavaScript eval() 函数进行计算的 JavaScript 表达式,并可能包含用 @@ 标记的服务器行为参 数。(@@ 用于区分参数和 JavaScript 变量与关键字。) 有效使用条件表达式 在 insertText XML 标签中使用 if、 else 和 elseif 指令时,将对参与的文本进行预处理,以解析 if 指令,并确定在结果中包含哪 一文本。 if 和 elseif 指令采用表达式作为参数。条件表达式与 JavaScript 条件表达式情况相同,而且也可以包含服务器行为参 数。诸如此类的指令使您可以根据服务器行为参数的值或者这些参数相互之间的关系来选择备选代码块。 例如,下面的 JSP 代码来自使用条件代码块的 Dreamweaver 服务器行为: @@rsName@@.close(); <@  if  (@@callableName@@  !=  '')  @> @@callableName@@.execute(); @@rsName@@  =  @@callableName@@.getResultSet();<@  else  @> @@rsName@@  =  Statement@@rsName@@.executeQuery(); <@  endif  @> @@rsName@@_hasData  =  @@rsName@@.next(); 条件代码块以 <@ if (@@callableName@@ != '') @> 开头并以 <@ endif @> 结尾。根据代码,如果用户为服务器行为的 “ 参数 ” 对 话框中的 @@callableName@@ 参数输入一个值,即如果 @@callableName@@ 参数值不为空或者 (@@callableName@@ != ''),那 么条件代码块将由以下语句取代: 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   496 生成动态页 @@callableName@@.execute(); @@rsName@@  =  @@callableName@@.getResultSet(); 否则,条件代码块会由以下语句取代: @@rsName@@  =  Statement@@rsName@@.executeQuery(); 更多帮助主题 第 497 页的 “ 使用 loop 指令重复代码块 ” 定位代码块 在使用 “ 服务器行为创建器 ” 创建代码块时,必须指定这些代码块在页面的 HTML 代码中的插入位置。 例如,如果将代码块插入到开始  标签上方就必须随后指定代码块相对于相应页面 HTML 代码部分的其它标签、脚本和 服务器行为的位置。典型示例包括将一个行为定位到也位于开始  标签上方的页面代码中的任何记录集查询之前或之后。 从 “ 插入代码 ” 弹出菜单选择定位选项时, “ 相对位置 ” 弹出菜单中的可用选项会随之更改,以提供与该页面部分相关的选项。 例如,如果在 “ 插入代码 ” 弹出菜单中选择 “ 标签上方 ”,“ 相对位置 ” 弹出菜单中的可用定位选项将反映该页面部分的 相关选项。 下表显示了代码块插入选项以及每个插入选项可用的相对定位选项: 插入代码选项 相对位置选项  标签上方 · · · · ·  标签下方 · · · 文件开头处 紧邻记录集之前 紧邻记录集之后 紧邻  标签上方 自定义位置 文件末尾之前 记录集结束之前 记录集结束之后 ·    标签之后 · 自定义位置 相对于特定标签 从 “ 标签 ” 弹出菜单中选择一个标签,然后从标签定位选项中进行选择。 相对于选定内容 选定内容之前 选定内容之后 替换选定内容 环绕选定内容 若要指定自定义位置,必须为代码块指定一个高度。如果需要按照特定顺序插入多个代码块,请使用 “ 自定义位置 ” 选项。例 如,若要在打开记录集的代码块后依次插入三个代码块,可以为第一个代码块输入高度 60,为第二个代码块输入 65,为第三 个代码块输入 70。 默认情况下, Dreamweaver 为插入到  标签上方的所有打开记录集的代码块指定高度 50。如果两个或更多代码块的 “ 高度 ” 相当,则 Dreamweaver 将随机设置代码块间的顺序。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   497 生成动态页 更多帮助主题 第 499 页的 “ 请求服务器行为的参数 ” 第 501 页的 “ 编码指导原则 ” 第 493 页的 “ 关于自定义服务器行为 ” 第 495 页的 “ 创建代码块 ” 第 501 页的 “ 测试服务器行为 ” 定位代码块 (一般性说明) 1   使用 “ 服务器行为创建器 ” 编写代码块。 2   在 “ 服务器行为创建器 ” 对话框中,从 “ 插入代码 ” 弹出菜单中为代码块选择一个插入位置。 3   在 “ 服务器行为创建器 ” 对话框中,相对于您在 “ 插入代码 ” 弹出菜单中选择的位置选择一个位置。 4   如果已经完成代码块的创建,请单击 “ 确定 ”。 该服务器行为即会列在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮可以查看该服务器行为。 5   测试服务器行为并确保其正确运行。 相对于页面上的另一个标签定位代码块 1   在 “ 插入代码 ” 弹出菜单中,选择 “ 相对于特定标签 ”。 2   在 “ 标签 ” 框中,输入该标签或从弹出菜单中选择一个标签。 如果输入标签,请不要包括尖括号 (<>)。 3   在 “ 相对位置 ” 弹出菜单中选择一个选项,指定相对于该标签的某个位置。 相对于页面设计者选定的标签定位代码块 1   在 “ 插入代码 ” 弹出菜单中,选择 “ 相对于选定内容 ”。 2   在 “ 相对位置 ” 弹出菜单中选择一个选项,指定相对于选定内容的某个位置。 可以将代码块插入到恰好在选定内容之前或之后。也可以用代码块替换选定内容,或者将选定内容包裹在代码块中。 若要将选定内容包裹在代码块中,则选定内容必须包含开始和结束标签,并且这两个标签之间不包含任何内容,如下所示: 将代码块的开始标签插入到选定内容的开始标签之前,而将代码块的结束标签插入到选定内容的结束标签之后。 使用 loop 指令重复代码块 若要使部分代码块或整个代码块重复一定的次数,请使用以下语法: <@  loop  (@@param1@@,@@param2@@)  @>code  block<@  endloop  @> 创建服务器行为时,可以使用循环结构将某个代码块重复指定的次数。 <@  loop  (@@param1@@,@@param2@@,@@param3@@,@@param_n@@)  @>code  block <@  endloop  @> Loop 指令采用一列由逗号分隔的参数数组作为参数。在这种情况下,参数数组参数使用户能够为单个参数提供多个值。重复 文本将被复制 n 次,其中的 n 代表参数数组参数的长度。如果指定多个参数数组参数,则所有数组的长度必须相同。在进行第 i 次循环计算时,参数数组的第 i 个元素将替换代码块中的相关参数实例。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   498 生成动态页 在为服务器行为创建对话框时,可以向该对话框添加控件,从而使页面设计者能够创建参数数组。 Dreamweaver 包括一个可 用来创建对话框的简单数组控件。这个称作 “ 文本域逗号分隔列表 ” 的控件可以通过 “ 服务器行为创建器 ” 获得。若要创建更 为复杂的用户界面元素,请参阅 API 文档,以创建包含可创建数组的控件 (例如,网格控件)的对话框。 可以在条件指令中嵌套任意数量的条件或循环指令。例如,可以指定如果表达式为真,则执行循环。 下例显示如何使用这样的重复代码块来创建服务器行为 (该示例为用于访问预存过程的 ColdFusion 行为): 在本例中, CFSTOREDPROC 标签可以包含 0 个或更多 CFPROCPARAM 标签。但是,如果不支持 loop 指令,则没有办法在 插入的 CFSTOREDPROC 标签内包括 CFPROCPARAM 标签。如果要在不使用 loop 指令的情况下,将此示例创建为服务器行 为,则需要将此示例分成两部分:主 CFSTOREDPROC 标签和 CFPROCPARAM 标签,后者的成员类型为 multiple (多个)。 使用 loop 指令,可以按如下方式编写同一过程: <@  loop  (@@paramName@@,@@value@@,@@type@@)  @> <@  endloop  @> 注:忽略每个 “@>” 后的新行。 如果用户在 “ 服务器行为创建器 ” 对话框中输入下列参数值: procedure  =  "proc1" conn  =  "connection1" paramName  =  ["@CategoryId",  "@Year",  "@ISBN"] value  =  ["#Form.CategoryId#",  "#Form.Year#",  "#Form.ISBN#"] type  =  ["CF_SQL_INTEGER",  "CF_SQL_INTEGER",  "CF_SQL_VARCHAR"] 则服务器行为将在页面中插入下列运行时代码: 注:除非是作为条件指令表达式的一部分,否则,参数数组不能在循环外使用。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   499 生成动态页 使用 loop 指令的 _length 和 _index 变量 loop 指令包括两个内置变量,可用于嵌入的 if 条件。这两个变量为:_length 和 _index。 _length 变量计算 loop 指令处理的数 组长度,而 _index 变量计算 loop 指令的当前索引。为了确保这两个变量仅被识别为指令,而不是作为传递到循环中的实际参 数,请不要将这两个变量中的任何一个包含在 @@ 对中。 使用内置变量的一个示例是将它们应用于 Page 指令的 import 属性。import 属性要求使用由逗号分隔的包。如果 loop 指令围绕 整个 import 属性展开执行,您可能希望只在第一次循环迭代中输出属性名称 import=(这将包含右双引号 (")),而在最后一次 循环迭代中不输出逗号。使用内置变量可将这一需要表示如下: <@loop  (@@Import@@)@> <@  if(_index  ==  0)@>import=" <@endif@>@@Import@@<@if  (_index  ==  _length-1)@>"<@else@>, <@  endif  @> <@endloop@> 请求服务器行为的参数 服务器行为经常要求页面设计者提供参数值。该值必须在将服务器行为代码插入到页面之前插入。 通过在代码中定义由设计者提供值的参数,可以创建该对话框。然后,为服务器行为生成对话框,以提示页面设计者输入参数 值。 注:如果指定代码应当相对于页面设计者选择的特定标签进行插入 (即,在 “ 插入代码 ” 弹出菜单中选择了 “ 相对于特定标签 ”),系统将向代码块添加一个参数,而不需要您的干预。该参数向行为的对话框添加一个标签菜单,供页面设计者选择标签。 定义服务器行为代码中的参数 1   在代码中希望插入所提供参数值的位置输入参数标记。该参数具有如下语法: @@parameterName@@ 2   将 formParam 字符串包含在参数标记 (@@) 中: <%  Session("lang_pref")  =  Request.Form("@@formParam@@");  %> 例如,如果服务器行为包含以下代码块: <%  Session("lang_pref")  =  Request.Form("Form_Object_Name");  %> 若要让页面设计者提供 Form_Object_Name 的值,请将该字符串包含在参数标记 (@@) 中: <%  Session("lang_pref")  =  Request.Form("@@Form_Object_Name@@");  %> 也可以高亮显示该字符串,然后单击 “ 在代码块中插入参数 ” 按钮。输入一个参数名称,然后单击 “ 确定 ”。 Dreamweaver 用包含在参数标记内的指定参数名称替换高亮显示字符串的每个实例。 Dreamweaver 使用参数标记中包含的字符串作为所生成对话框中控件的标签 (请参阅下面的过程)。在前面的示例中, Dreamweaver 创建包含以下标签的对话框: 注:服务器行为代码中的参数名称不能有任何空格。因此,对话框标签不能有任何空格。如果要在标签中包含空格,可以编辑 生成后的 HTML 文件。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   500 生成动态页 为服务器行为创建一个对话框,以请求参数值 1   在 “ 服务器行为创建器 ” 中,单击 “ 下一步 ”。 2   若要更改对话框控件的显示顺序,请选定某个参数,然后单击向上或向下箭头。 3   若要更改参数的控件,请选定该参数,然后在 “ 显示为 ” 列中选择另一个控件。 4   单击 “ 确定 ”。 Dreamweaver 将生成对话框,对于您定义的每个由设计者提供值的参数,该对话框中都对应包含一个带标签的控件。 查看对话框 ❖  单击 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中的加号 (+) 按钮,然后从弹出菜单中选择您的自定义服务器行为。 编辑为服务器行为创建的对话框 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后从弹出菜单中选择 “ 编辑服务器行为 ”。 2   从列表中选择该服务器行为,并单击 “ 打开 ”。 3   单击 “ 下一步 ”。 将出现一个对话框,该对话框列出在代码中定义的所有由设计者提供值的参数。 4   若要更改对话框控件的显示顺序,请选定某个参数,然后单击向上或向下箭头。 5   若要更改参数的控件,请选定该参数,然后在 “ 显示为 ” 列中选择另一个控件。 6   单击 “ 确定 ”。 编辑和修改服务器行为 您可以编辑用 “ 服务器行为创建器 ” 创建的任何服务器行为,其中包括从 Dreamweaver Exchange 网站下载的服务器行为以 及由其他第三方开发商提供的服务器行为。 如果您将一个服务器行为应用于页面,然后在 Dreamweaver 中编辑该行为,则原有行为的实例将不再出现在 “ 服务器行为 ” 面板中。 “ 服务器行为 ” 面板将搜寻页面,查找与已知服务器行为代码相匹配的代码。如果服务器行为代码发生了更改,则面 板不会识别页面上该行为的以前版本。 更多帮助主题 第 493 页的 “ 使用服务器行为创建器 ” 第 496 页的 “ 定位代码块 ” 在面板中保留行为的原有版本和新版本 ❖  单击 “ 服务器行为 ” 面板(“ 窗口 ”>“ 服务器行为 ”)中的加号 (+) 按钮,选择 “ 新建服务器行为 ”,创建原有服务器行为的副 本。 编辑用服务器行为创建器创建的服务器行为的代码 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后从弹出菜单中选择 “ 编辑服务器行为 ”。 “ 编辑服务器行为 ” 对话框将显示当前服务器技术的所有行为。 2   选择该服务器行为并单击 “ 编辑 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   501 生成动态页 3   选择适当的代码块并修改代码、参数标记或要在页面中插入的代码块的位置。 4   如果已修改的代码不包含任何由设计者提供值的参数,请单击 “ 确定 ”。 Dreamweaver 将重新生成不包含对话框的服务器行为。新的服务器行为出现在 “ 服务器行为 ” 面板的加号 (+) 弹出菜单中。 5   如果已修改的代码确实包含由设计者提供值的参数,请单击 “ 下一步 ”。 Dreamweaver 将询问您是否要创建一个新对话框来改写原有的对话框。进行更改并单击 “ 确定 ”。 Dreamweaver 将所有更改保存在服务器行为的 EDML 文件中。 编码指导原则 一般说来,服务器行为代码应当紧凑、可靠。 Web 应用程序开发人员对添加到他们页面中的代码非常敏感。请遵照广泛接受的 文档类型语言 (ColdFusion、 JavaScript、 VBScript 或 PHP)的编码惯例。在编写注释时,请考虑可能需要理解代码的不 同技术用户,如 Web 和交互程序的设计者或者其它 Web 应用程序开发人员。请包含正确描述代码目的的注释以及有关将代码 包含在页面内的任何特定说明。 创建服务器行为时要切记以下代码指导原则: 错误检查  一项重要的要求。服务器行为代码应当妥善处理错误情况。尝试预见所有的可能性。例如,如果参数请求失败怎么 办? 如果查询没有返回记录怎么办? 唯一名称  帮助确保能够清楚标识代码并且避免与现有代码出现名称冲突。例如,如果页面包含一个名为 hideLayer() 的函数和 名为 ERROR_STRING 的全局变量,而服务器行为插入的代码也使用了这两个名称,则该服务器行为可能与现有代码冲突。 代码前缀  允许您在页面中标识您自己的运行时函数和全局变量。约定之一就是使用首字母大写。请不要使用 MM_ 前缀,因为 它是仅为 Dreamweaver 使用而保留的。 Dreamweaver 会在所有函数和全局变量之前添加前缀 MM_,以避免与您编写的任 何代码冲突。 var  MM_ERROR_STRING  =  "..."; function  MM_hideLayer()  { 避免相似的代码块  以便您编写的代码不会与其它代码块中的代码过于相似。如果某代码块看起来与页面上的另一个代码块非常 类似, “ 服务器行为 ” 面板可能会错误地将前者标识为后者的一个实例 (或反之)。一个简单的解决方法是给代码块添加注释, 使它更具有唯一性。 更多帮助主题 第 493 页的 “ 关于自定义服务器行为 ” 第 493 页的 “ 自定义服务器行为工作流程 ” 测试服务器行为 Dreamweaver Exchange 建议对所创建的每个服务器行为执行下列测试: · 从 “ 服务器行为 ” 面板应用行为。如果该行为有对话框,请在每个域中输入有效数据,然后单击 “ 确定 ”。验证在应用该行为时 没有错误发生。验证该服务器行为的运行时代码是否出现在 “ 代码 ” 检查器中。 · 再次应用该服务器行为,并在每个对话框域中输入无效数据。尝试下列操作:将域保留为空白,使用大数或负数,使用无效 字符 (例如 /、 ?、 :、 * 等等),以及在数字域中使用字母。可以编写格式验证例程来处理无效数据 (验证例程涉及到手工 编码,这超出了本书的范围)。 在将服务器行为成功地应用于页面后,请验证下列内容: · 检查 “ 服务器行为 ” 面板,确保该服务器行为名称出现在添加到页面的行为的列表中。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   502 生成动态页 · 验证服务器端脚本图标是否出现在页面上 (如果适用)。一般服务器端脚本图标是金色的盾牌。若要查看该图标,请启用 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”)。 · 在 “ 代码 ” 视图 (“ 查看 ”>“ 代码 ”)中,验证没有生成任何无效代码。 另外,如果服务器行为将代码插入到与数据库建立连接的文档,请创建一个测试数据库来测试插入到文档中的代码。通过定 义查询来验证连接,这些查询应生成不同的数据集以及不同大小的数据集。 最后,将页面上传到服务器并在浏览器中打开。查看页面的 HTML 源代码并验证服务器端脚本未生成任何无效的 HTML。 草稿 上次更新 2010/3/21 第 20 章 : 以可视化方式生成应用程序 在 Adobe® Dreamweaver® CS5 中,可以使用 Adobe ColdFusion、 PHP 或 ASP 生成可让您搜索、插入、删除和更新数据 库记录、显示主 / 详细信息以及限制某些用户进行访问的页面。 生成主页和详细页 关于主页和详细页 主页和详细页是用于组织和显示记录集数据的页面集。这些页面为您的站点的访问者提供了概要视图和详细视图。主页中列出 了所有记录并包含指向详细页的链接,而详细页则显示每条记录的附加信息。 主页 503 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   504 以可视化方式生成应用程序 详细页 可以通过插入数据对象在一个操作中生成主页和详细页,也可以通过使用服务器行为以更加个性化的方式来生成主页和详细 页。使用服务器行为生成主页和详细页时,首先创建列出记录的主页,然后添加从列表到详细页的链接。 更多帮助主题 第 509 页的 “ 关于搜索页和结果页 ” 生成主页 在开始前,请确保为站点定义了一个数据库连接。 1   若要创建空白页,请选择 “ 文件 ”>“ 新建 ”>“ 空白页 ”,选择一种页面类型,然后单击 “ 创建 ”。该页将成为主页。 2   定义记录集。 在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮,选择 “ 记录集 ”,然后选择各个选项。如果要编写自己的 SQL 语句,请单击 “ 高级 ”。 确保记录集包含创建主页所需的所有表列。记录集还必须包含含有每条记录的唯一键的表格列,即记录 ID 列。在下面的示例 中, CODE 列包含了每条记录的唯一键。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   505 以可视化方式生成应用程序 为主页选择的记录集列 通常,主页上的记录集提取数据库表中的少数几列,而详细页上的记录集提取同一表格中的更多列以提供额外的详细信息。 用户可以在运行时定义记录集。有关详细信息,请参阅第 509 页的 “ 生成搜索页和结果页 ”。 3   插入显示记录的动态表格。 将插入点放置在页面上希望出现动态表格的位置。选择 “ 插入 ”>“ 数据对象 ”>“ 动态数据 ”>“ 动态表格 ”,设置各个选项,然 后单击 “ 确定 ”。 如果不打算向用户显示记录 ID,可以从动态表格中删除该列。在页面上任意位置单击,将焦点移至页面。将光标移动到动态表 格中该列的顶部附近直到列单元格外框为红色,然后单击选择该列。按 Delete 将该列从表格中删除。 更多帮助主题 第 466 页的 “ 不通过编写 SQL 来定义记录集 ” 第 468 页的 “ 通过编写 SQL 来定义高级记录集 ” 第 488 页的 “ 创建动态表格 ” 创建指向详细页的链接 生成主页并添加记录集后,创建用于打开详细页的链接。然后修改链接以便传递用户所选择记录的 ID。详细页将使用此 ID 在 数据库中查找请求的记录并显示该记录。 注:可使用相同的过程创建指向更新页的链接。结果页与主页类似,更新页与详细页类似。 更多帮助主题 第 517 页的 “ 生成更新记录的页面 ” 打开详细页并传递记录 ID (ColdFusion、 PHP) 1   在动态表格中,选择将用作链接的文本的内容占位符。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   506 以可视化方式生成应用程序 应用至所选占位符的链接。 2   在属性检查器中,单击 “ 链接 ” 框旁边的文件夹图标。 3   浏览找到并选择该详细页。该详细页随即出现在属性检查器的 “ 链接 ” 框中。 在动态表格中,所选文本显示为已被链接。当该页面在服务器上运行时,该链接将应用于表格每一行中的文本。 4   在主页上,选择动态表格中的链接。 5   (ColdFusion) 在属性检查器的 “ 链接 ” 框中,将下面的字符串添加到 URL 的末尾: ?recordID=#recordsetName.fieldName# 问号将告知服务器接下来是一个或多个 URL 参数。单词 “recordID” 是 URL 参数的名称 (您可以指定任何所需的名称)。记 下该 URL 参数的名称,因为接下来会在详细页中用到它。 等号后的表达式是该参数的值。在本例中,该值由从记录集返回记录 ID 的 ColdFusion 表达式生成。它将为动态表格中的每 一行生成一个不同的 ID。在 ColdFusion 表达式中,用您的记录集的名称替换 recordsetName,用记录集中唯一标识每条记 录的字段的名称来替换 fieldName。大多数情况下,该字段将由一个记录 ID 号组成。在下例中,该字段由唯一位置代码组 成: locationDetail.cfm?recordID=#rsLocations.CODE# 当该页运行时,记录集的 CODE 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码 为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 URL: locationDetail.cfm?recordID=CBR 6   (PHP) 在属性检查器的 “ 链接 ” 字段中,将下面的字符串添加到 URL 的末尾处: ?recordID= 问号将告知服务器接下来是一个或多个 URL 参数。单词 recordID 是 URL 参数的名称 (您可以使用任何喜欢的名称)。记下 该 URL 参数的名称,因为接下来会在详细页中用到它。 等号后的表达式是该参数的值。在本例中,该值由从记录集返回记录 ID 的 PHP 表达式生成。它将为动态表格中的每一行生成 一个不同的 ID。在 PHP 表达式中,用您的记录集的名称替换 recordsetName,用记录集中唯一标识每条记录的字段的名称来 替换 fieldName。大多数情况下,该字段将由一个记录 ID 号组成。在下例中,该字段由唯一位置代码组成: locationDetail.php?recordID= 当该页运行时,记录集的 CODE 字段的值将插入到动态表格中相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代 码为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 URL: locationDetail.php?recordID=CBR 7   保存该页面。 打开详细页并传递记录 ID (ASP) 1   选择兼具链接功能的动态内容。 2   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后从弹出菜单中选择 “ 转到详细页面 ”。 3   在 “ 详细页 ” 框中,单击 “ 浏览 ” 并定位该页。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   507 以可视化方式生成应用程序 4   从记录集和列弹出菜单中选择记录集和列,以指定要传递到详细页的值。通常,该值对于记录是唯一的,如记录的唯一键 ID。 5   如果需要,可选择 “URL 参数 ” 或 “ 表单参数 ” 选项将现有的页面参数传递到详细页。 6   单击 “ 确定 ”。 会出现一个围绕所选文本的特殊链接。当用户单击该链接时, “ 转到详细页面 ” 服务器行为将一个包含记录 ID 的 URL 参数传 递到详细页。例如,如果 URL 参数的名称为 id,详细页的名称为 customerdetail.asp,则当用户单击该链接时,URL 将类似 于: http://www.mysite.com/customerdetail.asp?id=43 URL 的第一部分 http://www.mysite.com/customerdetail.asp 用于打开详细页。第二部分 ?id=43 是 URL 参数。它告诉详 细页要查找和显示哪个记录。术语 id 是 URL 参数的名称, 43 是它的值。在本例中, URL 参数包含记录的 ID 号,即 43。 查找请求的记录并在详细页上显示 要显示主页所请求的记录,必须定义一个用来存放单个记录的记录集并将该记录集的列绑定到详细页。 1   切换到详细页。如果您还没有详细页,请创建一个空白页 (“ 文件 ”>“ 新建 ”)。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 记录集 ( 查询 )” 或 “ 数据集 ( 查询 )”。 将出现简单的 “ 记录集 ” 或 “ 数据集 ” 对话框。如果出现的是高级对话框,请单击 “ 简单 ”。 3   命名该记录集,然后选择一个数据源和将向记录集提供数据的数据库表。 4   在 “ 列 ” 区域中,选择要包括在记录集中的表列。 详细页上的记录集可以与主页上的记录集相同,也可以不同。通常,详细页记录集的列数更多,可以显示更多的详细信息。 如果记录集不同,则请确保详细页上的记录集至少包含一个与主页上的记录集相同的列。这个公共列通常是记录 ID 列,但也 可以是相关表格的连结字段。 若要使记录集中只包括某些表列,请单击 “ 已选定 ”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 列表中所需的列。 5   如下所示完成 “ 筛选 ” 部分,以便查找和显示主页所传递的 URL 参数中指定的记录: · 从筛选区域的第一个弹出菜单中选择记录集中的列,该列包含与主页传递的 URL 参数值相匹配的值。例如,如果 URL 参 数包含一个记录 ID 号,则选择包含记录 ID 号的列。在上一节讨论的示例中,记录集列 CODE 包含与通过主页传递的 URL 参数值相匹配的值。 · 从第一个菜单旁边的弹出菜单中选择等号 (它应该已被选定)。 · 从第三个弹出菜单中选择 “URL 参数 ”。主页使用 URL 参数将信息传递到详细页。 · 在第四个框中,输入主页传递的 URL 参数的名称。 6   单击 “ 确定 ”。记录集随即出现在 “ 绑定 ” 面板中。 7   通过下面的方法将记录集列绑定到详细页:在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)上选择列,然后将其拖到页面上。 将主页和详细页上传到服务器后,您可以在浏览器中打开主页。单击主页上的详细链接,会打开详细页,其中显示所选记录的 更多信息。 更多帮助主题 第 38 页的 “ 设置测试服务器 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   508 以可视化方式生成应用程序 查找特定记录并在页面 (ASP) 上显示该记录 可以添加一个可在记录集中查找特定记录的服务器行为,以便在页面上显示此记录数据。仅当使用 ASP 服务器模型时,服务器 行为才可用。 1   创建一个满足以下前提条件的页面: · URL 参数中包含一个从另一个页面传递给当前页面的记录 ID。可以在带有 HTML 超链接或 HTML 表单的另一个页面上 创建 URL 参数。有关详细信息,请参阅第 543 页的 “ 从用户处收集信息 ”。 · 为当前页所定义的记录集。该服务器行为将从此记录集中提取记录的详细信息。有关说明,请参阅第 466 页的 “ 不通过编写 SQL 来定义记录集 ” 或第 468 页的 “ 通过编写 SQL 来定义高级记录集 ”。 · 绑定到该页面的记录集列。特定记录必须显示在该页面上。有关详细信息,请参阅第 479 页的 “ 将文本动态化 ”。 2   添加服务器行为以查找 URL 参数所指定的记录,方法是:单击 “ 服务器行为 ” 面板(“ 窗口 ”>“ 服务器行为 ”)上的加号 (+) 按钮并选择 “ 记录集分页 ”>“ 移至特定记录 ”。 3   在 “ 移至记录 ” 弹出菜单中,选择为该页定义的记录集。 4   在 “ 其中的列 ” 弹出菜单中,选择包含由另一个页传递的值的列。 例如,如果另一个页传递一个记录 ID 号,则选择包含记录 ID 号的列。 5   在 “ 匹配 URL 参数 ” 框中,输入另一个页所传递的 URL 参数的名称。 例如,如果另一个页用于打开详细页的 URL 是 id=43,则在 “ 匹配 URL 参数 ” 框中输入 id。 6   单击 “ 确定 ”。 浏览器下次请求该页面时,该服务器行为将读取另一个页所传递的 URL 参数中的记录 ID,并移动到记录集中的指定记录。 在一次操作中生成主页和详细页 开发 Web 应用程序时,使用 “ 主详细页集 ” 数据对象可以快速生成主页和详细页。 1   若要创建空白动态页,请选择 “ 文件 ”>“ 新建 ”>“ 空白页 ”,从 “ 页面类型 ” 列表中选择一个动态页,然后单击 “ 创建 ”。 该页将成为主页。 2   为该页面定义记录集。 确保该记录集不仅包含主页所需的所有列,而且包含详细页所需的所有列。通常,主页上的记录集提取数据库表中的少数几 列,而详细页上的记录集提取同一表格中的更多列以提供额外的详细信息。 3   在 “ 设计 ” 视图中打开主页,然后选择 “ 插入 ”>“ 数据对象 ”>“ 主详细页集 ”。 4   在 “ 记录集 ” 弹出菜单中,确保已选择了包含要在主页上显示的记录的记录集。 5   在 “ 主页字段 ” 区域,选择要在主页上显示的记录集列。 默认情况下,会选择记录集中的所有列。如果记录集包含唯一键列,如 recordID,则将其选定并单击减号 (-) 按钮使之不在页 面上显示。 6   若要更改列在主页上的显示顺序,请选择列表中的列并单击向上或向下箭头。 在主页上,记录集列在表格中水平排列。单击向上箭头可将列向左移动;单击向下箭头可将列向右移动。 7   在 “ 以此链接到详细信息 ” 弹出菜单中,选择记录集中的一个列,其中将显示一个值,该值还用作指向详细页的链接。 例如,如果要使主页上的每个产品名称都有一个指向详细页的链接,请选择包含产品名称的记录集列。 8   在 “ 传递唯一键 ” 弹出菜单中,选择记录集中包含标识记录的值的列。 通常,所选的列就是记录 ID 号。此值被传递到详细页使之能够标识用户所选的记录。 9   如果唯一键列不是数字,请取消选择 “ 数字 ” 选项。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   509 以可视化方式生成应用程序 注:默认情况下选择此选项;并非所有型号的服务器都显示该选项。 10 指定要在主页上显示的记录数。 11 在 “ 详细页名称 ” 框中,单击 “ 浏览 ” 并找到已创建的详细页文件,或输入一个名称让数据对象创建一个详细页文件。 12 在 “ 详细页字段 ” 区域,选择要在详细页上显示的列。 默认情况下,会选择主页的记录集中的所有列。如果该记录集包含唯一键列,如 recordID,则将其选定并单击减号 (-) 按钮使 之不在详细页上显示。 13 若要更改列在详细页上的出现顺序,请选择列表中的列并单击向上或向下箭头。 在详细页上,记录集列在表格中垂直排列。单击向上箭头可将列向上移动;单击向下箭头可将列向下移动。 14 单击 “ 确定 ”。 数据对象创建一个详细页 (如果尚未创建),并且同时向主页和详细页中添加动态内容和服务器行为。 15 自定义主页和详细页的布局以符合需要。 使用 Dreamweaver 页面设计工具可以全面自定义每个页面的布局。还可以在 “ 服务器行为 ” 面板中双击服务器行为对其进行 编辑。 使用数据对象创建主页和详细页后,使用 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)来修改由数据对象插入到页面中的 各种构造块。 更多帮助主题 第 482 页的 “ 编辑动态内容 ” 第 466 页的 “ 定义动态内容源 ” 生成搜索页和结果页 关于搜索页和结果页 可以使用 Dreamweaver 生成一组页面,以便用户可以搜索您的数据库并查看搜索结果。 在大多数情况下,至少需要两个页面才能将此功能添加到 Web 应用程序中。第一个页面包含用户可以在其中输入搜索参数的 HTML 表单。尽管此页面不执行任何实际的搜索,但它仍被称为 “ 搜索页 ”。 所需的第二个页面是结果页,它执行大部分搜索工作。结果页执行以下任务: · 读取搜索页提交的搜索参数 · 连接到数据库并查找记录 · 使用找到的记录建立记录集 · 显示记录集的内容 或者,您还可以添加详细页。详细页为用户提供有关结果页上的特定记录的更多信息。 如果只有一个搜索参数, Dreamweaver 允许您将搜索功能添加到 Web 应用程序中,而不必使用 SQL 查询和变量。只需 简单地设计页面并完成几个对话框。如果您有多个搜索参数,则需要编写一条 SQL 语句并为其定义多个变量。 Dreamweaver 将 SQL 查询插入到页面中。当该页面在服务器上运行时,会检查数据库表中的每一条记录。如果某一记录 中的特定字段满足 SQL 查询条件,则将该记录包含在记录集中。 SQL 查询将生成一个只包含搜索结果的记录集。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   510 以可视化方式生成应用程序 例如,现场销售人员可能知道某个区域中收入超过某一水平的客户的信息。在搜索页上的表单中,该销售人员的同事输入一 个地理区域和最低收入水平,然后单击 “ 提交 ” 按钮将这两个值发送给服务器。在服务器上,这两个值被传递给结果页的 SQL 语句,然后该语句创建一个记录集,其中只包含指定区域中收入超过指定水平的客户。 更多帮助主题 第 466 页的 “ 定义动态内容源 ” 第 509 页的 “ 生成搜索页和结果页 ” 生成搜索页 Web 上的搜索页通常包含用户在其中输入搜索参数的表单字段。搜索页至少必须具有一个带有 “ 提交 ” 按钮的 HTML 表单。 若要向搜索页添加 HTML 表单,请完成以下步骤。 1   打开搜索页或一个新页面,然后选择 “ 插入 ”>“ 表单 ”>“ 表单 ”。 将在页面上创建一个空表单。您可能需要启用 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”)来查看表单的边界, 边界由红色的细线表示。 2   从 “ 插入 ” 菜单中选择 “ 表单 ”,添加表单对象以供用户输入搜索参数。 表单对象包括文本字段、菜单、选项和单选按钮。可以添加任意多的表单对象以帮助用户细化搜索操作。但是请记住,搜索页 上搜索参数的数目越多, SQL 语句就将越复杂。 3   在表单上添加一个 “ 提交 ” 按钮 (“ 插入 ”>“ 表单 ”>“ 按钮 ”)。 4  (可选)通过以下方法更改 “ 提交 ” 按钮的标签文字:选择该按钮,打开属性检查器(“ 窗口 ”>“ 属性 ”),并在 “ 值 ” 框中输入 一个新值。 下一步,您将告诉表单当用户单击 “ 提交 ” 按钮时向何处发送搜索参数。 5   通过在 “ 文档 ” 窗口底部的标签选择器中选择 
       标签来选择表单,如下所示: 6   在该表单的属性检查器中的 “ 动作 ” 框中,输入将执行数据库搜索的结果页的文件名。 7   在 “ 方法 ” 弹出菜单中,选择下列方法之一确定表单如何将数据发送到服务器: · GET 通过将表单数据作为查询字符串附加到 URL 来发送这些数据。由于 URL 的长度限制为 8192 个字符,因此不要将 GET 方法用于较长的表单。 · POST 在消息正文中发送表单数据。 · Default 使用浏览器的默认方法 (通常为 GET)。 搜索页就完成了。 更多帮助主题 第 509 页的 “ 关于搜索页和结果页 ” 第 546 页的 “ 创建 Web 表单 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   511 以可视化方式生成应用程序 生成简单的结果页 用户单击表单的 “ 搜索 ” 按钮时,搜索参数即发送到服务器上的结果页。由服务器上的结果页 (而不是浏览器上的搜索页)负 责从数据库检索记录。如果搜索页只向服务器提交一个搜索参数,则您无需 SQL 查询和变量即可生成结果页。您可以创建一个 具有过滤器的基本记录集,该过滤器能够排除不满足搜索页所提交的搜索参数的记录。 注:如果具有多个搜索条件,则必须使用高级 “ 记录集 ” 对话框来定义记录集 (请参阅第 512 页的 “ 生成高级结果页 ”)。 更多帮助主题 第 509 页的 “ 关于搜索页和结果页 ” 第 510 页的 “ 生成搜索页 ” 第 513 页的 “ 创建结果页的详细页 ” 创建存放搜索结果的记录集 1   在 “ 文档 ” 窗口中打开结果页。 如果您还没有结果页,请创建一个空白的动态页 (“ 文件 ”>“ 新建 ”>“ 空白页 ”)。 2   通过下列方法创建一个记录集:打开 “ 绑定 ” 面板(“ 窗口 ”>“ 绑定 ”),单击加号 (+) 按钮,并从弹出菜单中选择 “ 记录集 ”。 3   确保出现简单 “ 记录集 ” 对话框。 如果出现的是高级对话框,则通过单击 “ 简单 ” 按钮切换到简单对话框。 4   输入记录集的名称并选择一个连接。 该连接应该连接到包含希望用户搜索的数据的数据库。 5   在 “ 表 ” 弹出菜单中,选择数据库中要搜索的表。 注:在单参数搜索中,可以只在一个表中搜索记录。若要同时搜索多个表,必须使用高级的 “ 记录集 ” 对话框并定义一个 SQL 查询。 6   若要使记录集中只包括某些表列,请单击“已选定”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 列表中所需的列。 您应该只包括含有您要在结果页显示的信息的列。 暂时使 “ 记录集 ” 对话框保持打开状态。下一步将使用该对话框获取搜索页发送的参数,并创建一个记录集过滤器来排除不满 足参数的记录。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   512 以可视化方式生成应用程序 创建记录集过滤器 1   在 “ 筛选 ” 区域中的第一个弹出菜单中,选择要在其中搜索匹配记录的数据库表中的一列。 例如,如果搜索页发送的值是城市名,则在包含城市名的表中选择列。 2   从第一个菜单旁边的弹出菜单中,选择等号 (它应该为默认值)。 3   从第三个弹出式菜单中,选择 “ 表单变量 ”(如果搜索页上的表单使用 POST 方法),或者选择 “URL 参数 ”(如果搜索页上 的表单使用 GET 方法)。 搜索页使用表单变量或是 URL 参数将信息传递到结果页。 4   在第四个框中,输入接受搜索页上的搜索参数的表单对象的名称。 对象名称也兼作为表单变量名称或 URL 参数。可以通过下面的方法获取此名称:切换到搜索页,单击表单上的表单对象以选 择它,并在属性检查器中查看对象的名称。 例如,假设您希望创建一个只包括到特定国家 / 地区的探险旅程的记录集。假设表中有一个名为 TRIPLOCATION 列。另外还 假设搜索页上的 HTML 表单使用 GET 方法并包含一个名为 Location 的菜单对象 (它显示国家 / 地区列表)。下例显示了应 如何设置 “ 筛选 ” 部分: 5  (可选)单击 “ 测试 ”,输入一个测试值,然后单击 “ 确定 ” 连接到数据库并创建一个记录集实例。 测试值模拟本来应由搜索页返回的值。单击 “ 确定 ” 关闭测试记录集。 6   如果您对该记录集感到满意,请单击 “ 确定 ”。 将在页面中插入一个服务器端脚本,该脚本在服务器上运行时将检查数据库表中的每条记录。如果某一记录中的指定字段满足 过滤条件,则将该记录包含在记录集中。此脚本会生成一个只包含搜索结果的记录集。 下一步是在结果页上显示记录集。有关详细信息,请参阅第 513 页的 “ 显示搜索结果 ”。 生成高级结果页 如果搜索页向服务器提交多个搜索参数,则必须为结果页编写一个 SQL 查询并在 SQL 变量中使用搜索参数。 注:如果仅有一个搜索条件,则可以使用简单 “ 记录集 ” 对话框来定义记录集 (请参阅第 511 页的 “ 生成简单的结果页 ”)。 1   在 Dreamweaver 中打开结果页,然后通过下面的方法创建一个记录集:打开 “ 绑定 ” 面板(“ 窗口 ”>“ 绑定 ”),单击加号 (+) 按钮,然后从弹出菜单中选择 “ 记录集 ”。 2   确保出现了高级 “ 记录集 ” 对话框。 高级对话框有一个用于输入 SQL 语句的文本区域。如果出现的是简单对话框,则请通过单击 “ 高级 ” 按钮切换到高级对话框。 3   输入记录集的名称并选择一个连接。 该连接应该连接到包含希望用户搜索的数据的数据库。 4   在 SQL 文本区域中输入一条 Select 语句。 确保该语句包含一个 WHERE 子句,并且该子句带有可以用来保存搜索参数的变量。在下例中,变量名为 varLastName 和 varDept: SELECT  EMPLOYEEID,  FIRSTNAME,  LASTNAME,  DEPARTMENT,  EXTENSION  FROM  EMPLOYEE  ¬ WHERE  LASTNAME  LIKE  'varLastName'  ¬ AND  DEPARTMENT  LIKE  'varDept' 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   513 以可视化方式生成应用程序 若要减少键入量,可以使用高级 “ 记录集 ” 对话框底部的数据库项目树。有关说明,请参阅第 468 页的 “ 通过编写 SQL 来定 义高级记录集 ”。 有关 SQL 语法的帮助,请参阅位于 www.adobe.com/go/learn_dw_sqlprimer_cn 上的 SQL primer (SQL 入门)。 5   通过单击 “ 变量 ” 区域中的加号 (+) 按钮并输入变量名、默认值(没有运行时值返回时变量应采用的值)和运行时值(通常 是存放浏览器所发送值的服务器对象,如请求变量),将搜索参数的值赋给 SQL 变量。 在下面的 ASP 示例中,搜索页上的 HTML 表单使用 GET 方法并包含一个名为 LastName 的文本字段和一个名为 Department 的文本字段: 在 ColdFusion 中,运行时值为 #LastName# 和 #Department#。在 PHP 中,运行时值为 $_REQUEST["LastName"] 和 $_REQUEST["Department"]。 6  (可选)单击 “ 测试 ” 使用默认的变量值创建一个记录集实例。 默认值模拟本来应由搜索页返回的值。单击 “ 确定 ” 关闭测试记录集。 7   如果您对该记录集感到满意,请单击 “ 确定 ”。 SQL 查询将插入到您的页面中。 下一步是在结果页上显示记录集。 显示搜索结果 创建保留搜索结果的记录集后,您必须在结果页上显示这些信息。显示记录的过程十分简单,只需将每个列从 “ 绑定 ” 面板拖 动到结果页上即可。可以添加导航链接以便在记录集中向前和向后移动,或者可以创建重复区域在页面上显示多条记录。您还 可以将链接添加到详细页。 有关在页面上显示动态内容 (而不是在动态表格中显示结果)的方法的详细信息,请参阅第 484 页的 “ 显示数据库记录 ”。 1   将插入点放在结果页面上想要显示动态表格的地方,然后选择 “ 插入 ”>“ 数据对象 ”>“ 动态数据 ”>“ 动态表格 ”。 2   通过选择您所定义的用来放置搜索结果的记录集完成 “ 动态表格 ” 对话框。 3   单击 “ 确定 ”。用于显示搜索结果的动态表格将被插入到结果页面中。 创建结果页的详细页 您的搜索页和结果页集可包括一个详细页,以显示与结果页上的特定记录有关的更多信息。这种情况下,结果页兼作为主 / 详 细页集中的主页。 更多帮助主题 第 508 页的 “ 在一次操作中生成主页和详细页 ” 第 510 页的 “ 生成搜索页 ” 第 511 页的 “ 生成简单的结果页 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   514 以可视化方式生成应用程序 创建一个链接以打开相关的页面 (ASP) 您可以创建打开相关页面并将现有参数传递到该页面的链接。仅当使用 ASP 服务器模型时,服务器行为才可用。 在将 “ 转到相关页面 ” 服务器行为添加到页面前,请确保该页面从另一个页面接收表单或 URL 参数。服务器行为的工作是将 这些参数传递到第三个页面。例如,可以将结果页接收的搜索参数传递到另一个页面,从而使用户不必再次输入搜索参数。 另外,可以在页面上选择用作指向相关页面的链接的文本或图像,或者在不选择任何内容的情况下将指针放在该页面上即可插 入链接文本。 1   在 “ 转到相关页面 ” 框中,单击 “ 浏览 ” 并找到相关页面文件。 如果当前页面向自身提交数据,则输入当前页面的文件名。 2   如果希望传递的参数直接从使用 GET 方法的 HTML 表单获得,或者列在该页的 URL 中,则请选择 “URL 参数 ” 选项。 3   如果希望传递的参数直接从使用 POST  方法的 HTML 表单获得,则请选择 “ 表单参数 ” 选项。 4   单击 “ 确定 ”。 当单击新链接时,页面使用查询字符串将参数传递到相关页面。 更多帮助主题 第 543 页的 “ 从用户处收集信息 ” 生成记录插入页面 关于生成记录插入页 您的应用程序可以包含一个允许用户向数据库中插入新记录的页。 有关创建记录插入页的教程,请访问 www.adobe.com/go/learn_dw_webapp_cn。 插入页由两个构造块组成: · 一个允许用户输入数据的 HTML 表单 · 一个更新数据库的 “ 插入记录 ” 服务器行为 当用户在单击表单上的 “ 提交 ” 时,服务器行为会在数据库表中插入记录。 您可以使用 “ 插入记录表单 ” 数据对象在一次操作中添加这两个构造块,也可以使用 Dreamweaver 表单工具和 “ 服务器 行为 ” 面板分别添加它们。 注:插入页一次只能包含一个记录编辑服务器行为。例如,您不能将 “ 更新记录 ” 或 “ 删除记录 ” 服务器行为添加到插入 页。 逐块生成插入页 还可以使用表单工具和服务器行为生成插入页。 更多帮助主题 第 546 页的 “ 创建 Web 表单 ” 将 HTML 表单添加到插入页 1   创建一个动态页 (“ 文件 ”>“ 新建 ”>“ 空白页 ”),并使用 Dreamweaver 设计工具设计页的布局。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   515 以可视化方式生成应用程序 2   添加一个 HTML 表单,方法是:将插入点放置在希望表单出现的位置,然后选择 “ 插入 ”>“ 表单 ”>“ 表单 ”。 将在页面上创建一个空表单。您可能需要启用 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”)来查看表单的边界, 边界用红色细线表示。 3   为 HTML 表单命名,方法是单击 “ 文档 ” 窗口底部的  标签以选择表单,打开属性检查器(“ 窗口 ”>“ 属性 ”),然后在 “ 表单名称 ” 框中输入一个名称。 不需要指定表单的 action 或 method 属性来指示当用户单击 “ 提交 ” 按钮时向何处及如何发送记录数据。“ 插入记录 ” 服务器行 为会为您设置这些属性。 4   为要插入记录的数据库表中的每一列添加一个表单对象,如文本字段 (“ 插入 ”>“ 表单 ”>“ 文本字段 ”)。 表单对象用于数据输入。为了实现该目的,经常会使用文本字段,但是您也可以使用菜单、选项和单选按钮。 5   在表单上添加一个 “ 提交 ” 按钮 (“ 插入 ”>“ 表单 ”>“ 按钮 ”)。 可以通过以下方法更改 “ 提交 ” 按钮的标签文字:选择该按钮,打开属性检查器 (“ 窗口 ”>“ 属性 ”),并在 “ 标签文字 ” 框中 输入一个新值。 添加服务器行为以在数据库表中插入记录 (ColdFusion) 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 插入记录 ”。 2   从 “ 提交值,自 ” 弹出菜单中选择一个表单。 3   在 “ 数据源 ” 弹出菜单中,选择一个到数据库的连接。 4   输入您的用户名和密码。 5   在 “ 插入到表格 ” 弹出菜单中,选择要向其中插入记录的数据库表。 6   指定要向其中插入记录的数据库列,从“值”弹出菜单中选择将插入记录的表单对象,然后从“提交为”弹出菜单中为该表单对 象选择数据类型。 数据类型是数据库表中的列所需的数据种类 (文本、数字、布尔型选项值)。 为表单中的每个表单对象重复该过程。 7   在 “ 插入后,转到 ” 框中,输入将记录插入表后要打开的页面,或单击 “ 浏览 ” 按钮浏览到该文件。 8   单击 “ 确定 ”。 Dreamweaver 将服务器行为添加到特定页面,该页面允许用户通过填写 HTML 表单并单击 “ 提交 ” 按钮在数据库表中插入 记录。 添加服务器行为以在数据库表格中插入记录 (ASP) 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 插入记录 ”。 2   在 “ 连接 ” 弹出菜单中,选择一个到数据库的连接。 如果您需要定义连接,则单击 “ 定义 ” 按钮。 3   在 “ 插入到表格 ” 弹出菜单中,选择应向其插入记录的数据库表。 4   在 “ 插入后,转到 ” 框中,输入在将记录插入表后要打开的页面,或单击 “ 浏览 ” 浏览到该文件。 5   在 “ 获取值自 ” 弹出菜单中,选择用于输入数据的 HTML 表单。 Dreamweaver 自动选择页面上的第一个表单。 6   指定要向其中插入记录的数据库列,从“值”弹出菜单中选择将插入记录的表单对象,然后从“提交为”弹出菜单中为该表单对 象选择数据类型。 数据类型是数据库表中的列所需的数据种类 (文本、数字、布尔型选项值)。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   516 以可视化方式生成应用程序 为表单中的每个表单对象重复该过程。 7   单击 “ 确定 ”。 Dreamweaver 将服务器行为添加到特定页面,该页面允许用户通过填写 HTML 表单并单击 “ 提交 ” 按钮在数据库表中插入 记录。 若要编辑服务器行为,请打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),然后双击 “ 插入记录 ” 行为。 添加服务器行为以在数据库表中插入记录 (PHP) 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 插入记录 ”。 2   从 “ 提交值,自 ” 弹出菜单中选择一个表单。 3   在 “ 连接 ” 弹出菜单中,选择一个到数据库的连接。 4   在 “ 插入表格 ” 弹出菜单中,选择要向其中插入记录的数据库表。 5   指定要向其中插入记录的数据库列,从“值”弹出菜单中选择将插入记录的表单对象,然后从“提交为”弹出菜单中为该表单对 象选择数据类型。 数据类型是数据库表中的列所需的数据种类 (文本、数字、布尔型选项值)。 为表单中的每个表单对象重复该过程。 6   在 “ 插入后,转到 ” 框中,输入将记录插入表后要打开的页面,或单击 “ 浏览 ” 按钮浏览到该文件。 7   单击 “ 确定 ”。 Dreamweaver 将服务器行为添加到特定页面,该页面允许用户通过填写 HTML 表单并单击 “ 提交 ” 按钮在数据库表中插入 记录。 用一次操作生成插入页 1   在 “ 设计 ” 视图中打开页,然后选择 “ 插入 ”>“ 数据对象 ”>“ 插入记录 ”>“ 插入记录表单向导 ”。 2   在 “ 连接 ” 弹出菜单中,选择一个到数据库的连接。如果需要定义连接,请单击 “ 定义 ”。 3   在 “ 插入到表格 ” 弹出菜单中,选择应向其插入记录的数据库表。 4   如果使用 ColdFusion,则输入用户名和密码。 5   在 “ 插入后,转到 ” 框中,输入将记录插入表后要打开的页面,或单击 “ 浏览 ” 按钮浏览到该文件。 6   在 “ 表单字段 ” 区域中,指定要包括在插入页面的 HTML 表单上的表单对象,以及每个表单对象应该更新数据库表格中的哪 些列。 默认情况下, Dreamweaver 为数据库表中的每个列创建一个表单对象。如果您的数据库为创建的每个新记录都自动生成唯一 键 ID,则需删除对应于该键列的表单对象,方法是在列表中将其选中然后单击减号 (-) 按钮。这消除了表单的用户输入已存在 的 ID 值的风险。 您还可以更改 HTML 表单上表单对象的顺序,方法是在列表中选中某个表单对象然后单击对话框右侧的向上或向下箭头。 7   指定每个数据输入域在 HTML 表单上的显示方式,方法是单击 “ 表单域 ” 表格中的一行,然后在表格下面的框中输入以下信 息: · 在 “ 标签 ” 框中,输入显示在数据输入字段旁边的描述性标签文字。默认情况下,Dreamweaver 在标签中显示表列的名称。 · 在 “ 显示为 ” 弹出菜单中,选择一个表单对象作为数据输入字段。您可以选择 “ 文本字段 ”、“ 文本区域 ”、“ 菜单 ”、“ 复选框 ”、 “ 单选按钮组 ” 和 “ 文本 ”。对于只读项,请选择 “ 文本 ”。您还可以选择 “ 密码字段 ”、 “ 文件字段 ” 和 “ 隐藏字段 ”。 注:隐藏字段插入在表单的结尾。 · 在 “ 提交为 ” 弹出菜单中,选择您的数据库表接受的数据格式。例如,如果表列只接受数字数据,则选择 “ 数字 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   517 以可视化方式生成应用程序 · 设置表单对象的属性。您选择作为数据输入字段的表单对象不同,选项也将不同。对于文本字段、文本区域和文本,您可以 输入初始值。对于菜单和单选按钮组,将打开另一个对话框来设置属性。对于选项,选择 “ 已选中 ” 或 “ 未选中 ” 选项。 8   单击 “ 确定 ”。 Dreamweaver 将 HTML 表单和 “ 插入记录 ” 服务器行为添加到页面。表单对象布置在一个基本表格中,您可以使用 Dreamweaver 页面设计工具自定义该表格。(确保所有表单对象都保持在表单的边界内。) 若要编辑服务器行为,请打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),然后双击 “ 插入记录 ” 行为。 生成更新记录的页面 关于记录更新页 您的应用程序可以包含允许用户更新数据库表中现有记录的一组页。这组页通常由一个搜索页、一个结果页和一个更新页组 成。用户可以使用搜索页和结果页检索记录,使用更新页修改记录。 搜索要更新的记录 当用户要更新某个记录时,他们必须首先在数据库中找到该记录。因此,您需要一个搜索页和一个结果页以便使用更新页。用 户在搜索页中输入搜索条件,并在结果页中选择记录。用户单击结果页上的记录时,更新页将打开并在 HTML 表单中显示该 记录。 更多帮助主题 第 509 页的 “ 生成搜索页和结果页 ” 创建指向更新页的链接 创建搜索页和结果页后,您可在结果页上创建用来打开更新页的链接。然后修改链接以便传递用户所选择记录的 ID。更新页将 使用此 ID 在数据库中查找请求的记录并显示该记录。 可使用与打开详细页并传递记录 ID 的过程相同的过程来打开更新页并传递记录 ID。有关详细信息,请参阅第 505 页的 “ 创建 指向详细页的链接 ”。 更多帮助主题 第 544 页的 “URL 参数 ” 检索要更新的记录 在结果页将标识要更新的记录的记录 ID 传递给更新页后,更新页必须读取参数,从数据库表中检索该记录,然后将它临时存 储在记录集中。 1   在 Dreamweaver 中创建页并保存。 该页将成为您的更新页。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮并选择 “ 记录集 ”。 如果出现高级对话框,请单击 “ 简单 ”。高级对话框有一个用于输入 SQL 语句的文本区域;而简单对话框却没有。 3   对记录集进行命名,并使用 “ 连接 ” 和 “ 表格 ” 弹出菜单指定要更新的数据所在的位置。 4   单击 “ 所选 ” 并选择一个键列 (通常是记录 ID 列)和包含要更新的数据的列。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   518 以可视化方式生成应用程序 5   配置 “ 筛选 ” 区域,以便键列的值等于结果页传递的相应 URL 参数的值。 这种过滤器会创建一个只包含结果页所指定记录的记录集。例如,如果您的键列包含记录 ID 信息且名为 PRID,并且结果页 在名为 id 的 URL 参数中传递相应的记录 ID 信息,则 “ 筛选 ” 区域的外观应如下所示: 6   单击 “ 确定 ”。 当用户在结果页上选择一个记录时,更新页将生成一个只包含所选记录的记录集。 逐块完成更新页 更新页具有三个构造块: · 一个用于从数据库表中检索记录的过滤记录集 · 一个允许用户修改记录数据的 HTML 表单 · 一个用于更新数据库表的 “ 更新记录 ” 服务器行为 您可以使用表单工具和 “ 服务器行为 ” 面板分别添加更新页的最后两个基本构造块。 更多帮助主题 第 517 页的 “ 检索要更新的记录 ” 第 546 页的 “ 创建 Web 表单 ” 将 HTML 表单添加到更新页 1   创建一个页 (“ 文件 ”>“ 新建 ”>“ 空白页 ”)。该页将成为更新页。 2   使用 Dreamweaver 设计工具对您的页进行布局。 3   添加一个 HTML 表单,方法是:将插入点放置在希望表单出现的位置,然后选择 “ 插入 ”>“ 表单 ”>“ 表单 ”。 将在页面上创建一个空表单。您可能需要启用 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”)来查看表单的边界, 边界用红色细线表示。 4   为 HTML 表单命名,方法是单击 “ 文档 ” 窗口底部的  标签以选择表单,打开属性检查器(“ 窗口 ”>“ 属性 ”),然后在 “ 表单名称 ” 框中输入一个名称。 您不必为表单指定 action 或 method 属性来指示当用户单击 “ 提交 ” 按钮时表单向何处及如何发送记录数据。“ 更新记录 ” 服务 器行为会为您设置这些属性。 5   为数据库表中要更新的每一列添加一个表单对象,例如文本字段 (“ 插入 ”>“ 表单 ”>“ 文本字段 ”)。 表单对象用于数据输入。为了实现该目的,经常会使用文本字段,但是您也可以使用菜单、选项和单选按钮。 每个表单对象都应该在早先定义的记录集中具有一个对应的列。唯一的例外就是唯一键列,该列没有对应的表单对象。 6   在表单上添加一个 “ 提交 ” 按钮 (“ 插入 ”>“ 表单 ”>“ 按钮 ”)。 可以通过以下方法更改 “ 提交 ” 按钮的标签文字:选择该按钮,打开属性检查器 (“ 窗口 ”>“ 属性 ”),并在 “ 标签文字 ” 框中 输入一个新值。 在表单中显示记录 1   确保您定义了一个记录集来保存用户要更新的记录。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   519 以可视化方式生成应用程序 请参阅第 517 页的 “ 检索要更新的记录 ”。 2   将每个表单对象绑定到记录集中的数据,如以下主题所述: · 第 554 页的 “ 在 HTML 文本域中显示动态内容 ” · 第 554 页的 “ 动态预先选择 HTML 复选框 ” · 第 555 页的 “ 动态预先选择 HTML 单选按钮 ” · 第 553 页的 “ 插入或更改动态 HTML 表单菜单 ” · 第 554 页的 “ 使现有 HTML 表单菜单成为动态对象 ” 添加服务器行为来更新数据库表 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 更新记录 ”。 即会出现 “ 更新记录 ” 对话框。 2   从 “ 提交值,自 ” 弹出菜单中选择一个表单。 3   在 “ 数据源 ” 或 “ 连接 ” 弹出菜单中,选择一个到数据库的连接。 4   如果可行,则输入您的用户名和密码。 5   在 “ 更新表格 ” 弹出菜单中,选择包含您要更新的记录的数据库表。 6  (ColdFusion、PHP、)指定要更新的数据库列,从 “ 值 ” 弹出菜单中选择将更新该列的表单对象,从 “ 提交为 ” 弹出菜单中 为该表单对象选择数据类型,并且如果要将此列标识为主键,还应选择 “ 主键 ”。 数据类型是数据库表中的列所需的数据种类 (文本、数字、布尔型选项值)。 为表单中的每个表单对象重复该过程。 7   (ASP) 在“选取记录自”弹出菜单中,指定包含显示在 HTML 表单上的记录的记录集。在“唯一键列”弹出菜单中,选择一个 键列 (通常是记录 ID 列)来标识数据库表中的记录。如果该值是一个数字,则选择 “ 数字 ” 选项。键列通常只接受数值, 但有时候也接受文本值。 8   在“更新后,转到”或“如果成功,则转到”框中,输入在表格中更新记录后将要打开的页,或单击“浏览”按钮浏览到该文件。 9   (ASP) 指定要更新的数据库列,从 “ 值 ” 弹出菜单中选择将更新该列的表单对象,然后从 “ 提交为 ” 弹出菜单中为该表单对象 选择数据类型。数据类型是数据库表中的列所需的数据种类 (文本、数字、布尔型选项值)。为表单中的每个表单对象重复 该过程。 10 单击 “ 确定 ”。 Dreamweaver 将服务器行为添加到页,该页允许用户通过修改显示在 HTML 表单中的信息并单击 “ 提交 ” 按钮更新数据库 表中的记录。 若要编辑服务器行为,请打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),并双击 “ 更新记录 ” 行为。 在一个操作中完成更新页 更新页具有三个构造块: · 一个用于从数据库表中检索记录的过滤记录集 · 一个允许用户修改记录数据的 HTML 表单 · 一个用于更新数据库表的 “ 更新记录 ” 服务器行为 您可以使用 “ 更新记录表单 ” 数据对象通过单个操作添加更新页的最后两个构造块。该数据对象将 HTML 表单和 “ 更新记录 ” 服务器行为添加到页中。 在您可以使用该数据对象之前, Web 应用程序必须能够标识要更新的记录,并且您的更新页必须能够检索它。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   520 以可视化方式生成应用程序 在数据对象将构造块放置在页上后,您可以使用 Dreamweaver 设计工具按需要自定义表单,或使用 “ 服务器行为 ” 面板编辑 “ 更新记录 ” 服务器行为。 注:更新页一次只能包含一个记录编辑服务器行为。例如,您不能将 “ 插入记录 ” 或 “ 删除记录 ” 服务器行为添加到更新页。 1   在 “ 设计 ” 视图中打开该页,并选择 “ 插入 ”>“ 数据对象 ”>“ 更新记录 ”>“ 更新记录表单向导 ”。 即会出现 “ 更新记录表单 ” 对话框。 2   在 “ 连接 ” 弹出菜单中,选择一个到数据库的连接。 如果您需要定义连接,则单击 “ 定义 ” 按钮。 3   在 “ 要更新的表格 ” 弹出菜单中,选择包含要更新的记录的数据库表。 4   在 “ 选取记录自 ” 弹出菜单中,指定包含显示在 HTML 表单中的记录的记录集。 5   在 “ 唯一键列 ” 弹出菜单中,选择一个键列 (通常是记录 ID 列)来标识数据库表中的记录。 如果该值是一个数字,则选择 “ 数字 ” 选项。键列通常只接受数值,但有时候也接受文本值。 6   在 “ 更新后,转到 ” 框中,输入在表格中更新记录之后要打开的页面。 7   在 “ 表单域 ” 区域中,指定每个表单对象应该更新数据库表中的哪些列。 默认情况下, Dreamweaver 为数据库表中的每个列创建一个表单对象。如果您的数据库为创建的每个新记录都自动生成唯一 键 ID,则需删除对应于该键列的表单对象,方法是在列表中将其选中然后单击减号 (-) 按钮。这消除了表单的用户输入已存在 的 ID 值的风险。 您还可以更改 HTML 表单上表单对象的顺序,方法是在列表中选中某个表单对象然后单击对话框右侧的向上或向下箭头。 8   指定每个数据输入域在 HTML 表单上的显示方式;方法是单击 “ 表单域 ” 表格中的某一行,然后在表格下面的框中输入以下 信息: · 在 “ 标签 ” 框中,输入显示在数据输入字段旁边的描述性标签文字。默认情况下,Dreamweaver 在标签中显示表列的名称。 · 在 “ 显示为 ” 弹出菜单中,选择一个表单对象作为数据输入字段。您可以选择 “ 文本字段 ”、“ 文本区域 ”、“ 菜单 ”、“ 复选框 ”、 “ 单选按钮组 ” 和 “ 文本 ”。对于只读项,请选择 “ 文本 ”。您还可以选择 “ 密码字段 ”、 “ 文件字段 ” 和 “ 隐藏字段 ”。 注:隐藏字段插入在表单的结尾。 · 在 “ 提交为 ” 弹出菜单中,请选择您的数据库表所需的数据格式。例如,如果表列只接受数字数据,则选择 “ 数字 ”。 · 设置表单对象的属性。您选择作为数据输入字段的表单对象不同,选项也将不同。对于文本字段、文本区域和文本,您可以 输入初始值。对于菜单和单选按钮组,将打开另一个对话框来设置属性。对于选项,选择 “ 已选中 ” 或 “ 未选中 ” 选项。 9   通过选择另一个表单域行并输入标签、 “ 显示为 ” 值和 “ 提交为 ” 值来设置其它表单对象的属性。 对于菜单和单选按钮组,打开另一个对话框来设置属性。对于选项,定义一个选项当前记录的值和给定值之间的比较,以确定 当显示记录时是否选中了该选项。 10 单击 “ 确定 ”。 Dreamweaver 将 HTML 表单和 “ 更新记录 ” 服务器行为添加到页中。 该数据对象将 HTML 表单和 “ 更新记录 ” 服务器行为添加到页中。表单对象布置在一个基本表格中,您可以使用 Dreamweaver 页面设计工具自定义该表格。(确保所有表单对象都保持在表单的边界内。) 若要编辑服务器行为,请打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),并双击 “ 更新记录 ” 行为。 更多帮助主题 第 517 页的 “ 检索要更新的记录 ” 第 553 页的 “ 插入或更改动态 HTML 表单菜单 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   521 以可视化方式生成应用程序 表单元素属性选项 “ 表单元素属性 ” 对话框用于设置页上表单元素的选项以允许用户更新数据库中的记录。 1   根据计划创建表单元素的方式,选择 “ 手动 ” 或 “ 来自数据库 ”。 2   单击加号 (+) 按钮添加元素。 3   为该元素输入标签和值。 4   在 “ 选取值等于 ” 框中,如果要在浏览器中打开页面时或在表单中显示记录时选择特定的元素,则输入一个等于该元素值的 值。 您可以输入静态值,或者通过单击闪电图标,然后从数据源列表中选择一个动态值来指定动态值。无论在何种情况下,所指定 的值都应该与元素值之一匹配。 生成删除记录的页面 关于记录删除页 应用程序可以包含允许用户删除数据库中记录的一组页。这组页通常由一个搜索页、一个结果页和一个删除页组成。删除页通 常是一个与结果页一同使用的详细页。用户可以使用搜索页和结果页检索记录,并使用删除页来确认和删除记录。 创建搜索页和结果页后,在结果页上添加链接来打开删除页,然后生成显示记录和 “ 提交 ” 按钮的删除页。 搜索要删除的记录 当用户要删除某个记录时,他们必须首先在数据库中找到该记录。因此,您需要一个搜索页和一个结果页以便使用删除页。用 户在搜索页中输入搜索条件,并在结果页中选择记录。当用户单击该记录时,删除页将打开并在 HTML 表单中显示该记录。 更多帮助主题 第 509 页的 “ 生成搜索页和结果页 ” 创建指向删除页的链接 创建搜索页和结果页后,您必须在结果页上创建用来打开删除页的链接。然后修改这些链接传递用户要删除的记录的 ID。删除 页使用该 ID 来查找和显示记录。 更多帮助主题 第 544 页的 “URL 参数 ” 手动创建链接 1   在结果页上,通过以下方式在表格中创建列来显示记录:在最后一个表格列内单击,然后选择 “ 修改 ”>“ 表格 ”>“ 插入行或列 ”。 2   选择 “ 列 ” 选项和 “ 当前列之后 ” 选项,并单击 “ 确定 ”。 随即在该表格中将添加一列。 3   在新创建的表格列中,在包含动态内容占位符的行中输入 Delete 字符串。确保在选项卡式的重复区域内输入该字符串。 您还可以插入图像,上面带有指示删除的文字或符号。 4   选择 Delete 字符串将一个链接应用于该字符串。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   522 以可视化方式生成应用程序 5   在属性检查器的 “ 链接 ” 框中输入删除页。您可以输入任何文件名。 在 “ 链接 ” 框外单击后, Delete 字符串在表格中显示为链接状态。如果启用 “ 实时 ” 视图,您可以看到该链接被应用于每个表 格行中的相同文本。 6   在结果页上选择该 “ 删除 ” 链接。 7   (ColdFusion) 在属性检查器的 “ 链接 ” 框中,将下面的字符串添加到 URL 的末尾: ?recordID=#recordsetName.fieldName# 问号将告知服务器接下来是一个或多个 URL 参数。单词 “recordID” 是 URL 参数的名称 (您可以指定任何所需的名称)。记 下该 URL 参数的名称,因为接下来会在删除页中用到它。 等号后的表达式是该参数的值。在本例中,该值由从记录集返回记录 ID 的 ColdFusion 表达式生成。它将为动态表格中的每 一行生成一个不同的 ID。在 ColdFusion 表达式中,用您的记录集的名称替换 recordsetName,用记录集中唯一标识每条记录 的字段的名称来替换 fieldName。大多数情况下,该字段将由一个记录 ID 号组成。在下例中,该字段由唯一位置代码组成: confirmDelete.cfm?recordID=#rsLocations.CODE# 当该页运行时,记录集的 CODE 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码 为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 URL: confirmDelete.cfm?recordID=CBR 8   (PHP) 在属性检查器的 “ 链接 ” 字段中,将下面的字符串添加到 URL 的末尾处: ?recordID= 问号将告知服务器接下来是一个或多个 URL 参数。单词 “recordID” 是 URL 参数的名称 (您可以指定任何所需的名称)。记 下该 URL 参数的名称,因为接下来会在删除页中用到它。 等号后的表达式是该参数的值。在本例中,该值由从记录集返回记录 ID 的 PHP 表达式生成。它将为动态表格中的每一行生成 一个不同的 ID。在 PHP 表达式中,用您的记录集的名称替换 recordsetName,用记录集中唯一标识每条记录的字段的名称来 替换 fieldName。大多数情况下,该字段将由一个记录 ID 号组成。在下例中,该字段由唯一位置代码组成: confirmDelete.php?recordID= 当该页运行时,记录集的 CODE 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码 为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 URL: confirmDelete.php?recordID=CBR 9   (ASP) 在属性检查器的 “ 链接 ” 字段中,将下面的字符串添加到 URL 的末尾处: ?recordID=<%=(recordsetName.Fields.Item("fieldName").Value)%> 问号将告知服务器接下来是一个或多个 URL 参数。单词 “recordID” 是 URL 参数的名称 (您可以指定任何所需的名称)。记 下该 URL 参数的名称,因为接下来会在删除页中用到它。 等号后的表达式是该参数的值。在本例中,该值由从记录集返回记录 ID 的 ASP 表达式生成。它将为动态表格中的每一行生成 一个不同的 ID。在 ASP 表达式中,用您的记录集的名称替换 recordsetName,用记录集中唯一标识每条记录的字段的名称来 替换 fieldName。大多数情况下,该字段将由一个记录 ID 号组成。在下例中,该字段由唯一位置代码组成: confirmDelete.asp?recordID=<%=(rsLocations.Fields.Item("CODE").Value)%> 当该页运行时,记录集的 CODE 字段的值将插入到动态表格相应的行中。例如,如果澳大利亚堪培拉 (Canberra) 的租位代码 为 CBR,则动态表格中有堪培拉 (Canberra) 的行将使用如下 URL: confirmDelete.asp?recordID=CBR 10 保存该页面。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   523 以可视化方式生成应用程序 以可视化方式创建链接 (仅适于 ASP) 1   在结果页上,通过以下方式在表格中创建列来显示记录:在最后一个表格列内单击,然后选择 “ 修改 ”>“ 表格 ”>“ 插入行或列 ”。 2   选择 “ 列 ” 选项和 “ 当前列之后 ” 选项,并单击 “ 确定 ”。 随即在该表格中将添加一列。 3   在新创建的表格列中,在包含动态内容占位符的行中输入 Delete 字符串。确保在选项卡式的重复区域内输入该字符串。 您还可以插入图像,上面带有指示删除的文字或符号。 4   选择 Delete 字符串将一个链接应用于该字符串。 5   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后从弹出菜单中选择 “ 转到详细页面 ”。 6   在 “ 详细页 ” 框中,单击 “ 浏览 ” 并定位删除页。 7   在 “ 传递 URL 参数 ” 框中,指定参数的名称,如 recordID。 可以使用您喜欢的任何名称,但一定要记下此名称,因为后面要在删除页中使用它。 8   从记录集和 “ 列 ” 弹出菜单中选择记录集和列,以指定要传递到删除页的值。通常,该值对于记录是唯一的,如记录的唯一键 ID。 9   选择 “URL 参数 ” 选项。 10 单击 “ 确定 ”。 会出现一个围绕所选文本的特殊链接。当用户单击该链接时, “ 转到详细页面 ” 服务器行为将一个包含记录 ID 的 URL 参数传 递到指定删除页。例如,如果 URL 参数名为 recordID,删除页名为 confirmdelete.asp,则当用户单击链接时 ,URL 类似于 下面的示例: http://www.mysite.com/confirmdelete.asp?recordID=43 URL 的第一部分 http://www.mysite.com/confirmdelete.asp 用于打开删除页。第二部分 ?recordID=43 是 URL 参数。它 告诉删除页要查找和显示哪个记录。术语 recordID 是 URL 参数的名称,43 是它的值。在本例中,URL 参数包含记录的 ID 号,即 43。 生成删除页 完成用于列出记录的页后,请切换到删除页。删除页将显示该记录,并询问用户是否确实要删除该记录。当用户单击表单按钮 确认该操作后, Web 应用程序将从数据库中删除该记录。 生成此页分四步:创建 HTML 表单;检索要在表单中显示的记录;在表单中显示记录;添加逻辑以从数据库中删除记录。检 索和显示记录分两步:定义一个用来存放单个记录 (用户希望删除的记录)的记录集;将该记录集的列绑定到表单。 注:删除页一次只能包含一个记录编辑服务器行为。例如,您不能将 “ 插入记录 ” 或 “ 更新记录 ” 服务器行为添加到删除页。 创建用来显示记录的 HTML 表单 1   创建页面,并将它另存为您在上一节指定的删除页。 您在上一节创建 “ 删除 ” 链接时已指定了一个删除页。在第一次保存该文件时将使用该名称 (如 deleteConfirm.cfm)。 2   在页面上插入一个 HTML 表单 (“ 插入 ”>“ 表单 ”>“ 表单 ”)。 3   在表单中添加一个隐藏表单域。 该隐藏表单域是存储 URL 参数传递的记录 ID 所必需的。若要添加隐藏字段,请将插入点置于表单中,并选择 “ 插入 ”>“ 表单 ”>“ 隐藏域 ”。 4   在表单上添加按钮。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   524 以可视化方式生成应用程序 用户将单击该按钮以确认和删除所显示的记录。若要添加按钮,请将插入点置于表单中,然后选择 “ 插入 ”>“ 表单 ”>“ 按钮 ”。 5   您可以通过所需的任何方式增强页面的设计并将其保存。 检索用户希望删除的记录 1   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 记录集 ( 查询 )”。 将出现简单的 “ 记录集 ” 或 “ 数据集 ” 对话框。如果出现的是高级 “ 记录集 ” 对话框,请单击 “ 简单 ”。 2   为该记录集命名,并选择一个数据源和包含用户可删除的记录的数据库表。 3   在 “ 列 ” 区域中,选择要在页上显示的表格列 (记录字段)。 若要只显示记录的某些字段,请单击 “ 已选定 ”,然后按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 列表 中的列,以选择所需字段。 确保包含记录 ID 字段,即使您不打算显示该字段。 4   如下所示完成 “ 筛选 ” 部分,以便查找和显示结果页所传递的 URL 参数中指定的记录: · 从 “ 筛选 ” 区域的第一个弹出菜单中,选择记录集中的列,该列包含的值与带有 “ 删除 ” 链接的页所传递的 URL 参数值相匹 配。例如,如果 URL 参数包含一个记录 ID 号,则选择包含记录 ID 号的列。在上一节讨论的示例中,记录集列 CODE 包 含的值与带有 “ 删除 ” 链接的页所传递的 URL 参数值相匹配。 · 从第一个菜单旁边的弹出菜单中选择等号 (如果尚未选定)。 · 从第三个弹出菜单中选择 “URL 参数 ”。包含 “ 删除 ” 链接的页使用 URL 参数向删除页传递信息。 · 在第四个文本框中,输入由带有 “ 删除 ” 链接的页传递的 URL 参数的名称。 5   单击 “ 确定 ”。 记录集随即出现在 “ 绑定 ” 面板中。 显示用户希望删除的记录 1   在 “ 绑定 ” 面板上选择记录集列 (记录字段)并将它们拖动到删除页。 请确保您在表单边框内插入只读动态内容。有关在页面中插入动态内容的详细信息,请参阅第 479 页的 “ 将文本动态化 ”。 接着,必须将记录 ID 列绑定到隐藏表单域。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   525 以可视化方式生成应用程序 2   确保启用了 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”),然后单击代表隐藏表单字段的黄色盾牌图标。 已选中隐藏表单域。 3   在属性检查器中,单击 “ 值 ” 框旁边的闪电图标。 4   在 “ 动态数据 ” 对话框的记录集中选择记录 ID 列。 在下面的示例中,记录 ID 列 CODE 包含唯一存储代码。 选定的记录 ID 列 5   单击 “ 确定 ”,保存该页。 完成后的删除页 添加用来删除记录的逻辑 在删除页上显示所选记录后,您必须向该页添加当用户单击 “ 确认删除 ” 按钮时从数据库中删除该记录的逻辑。您可以使用 “ 删除记录 ” 服务器行为快速方便地添加此逻辑。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   526 以可视化方式生成应用程序 添加服务器行为以删除记录 (ColdFusion、 PHP) 1   请确保 ColdFusion 或 PHP 删除页在 Dreamweaver 中打开。 2   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后选择 “ 删除记录 ”。 3   在 “ 首先检查是否已定义变量 ” 框中,确保选择 “ 主键值 ”。 随后您将在对话框中指定主键值。 4   在 “ 连接 ” 或 “ 数据源 ”(ColdFusion) 弹出菜单中,选择一个指向该数据库的连接,以便服务器行为可以连接到受影响的数据 库。 5   在 “ 表格 ” 弹出菜单中,选择包含要删除的记录的数据库表。 6   在 “ 主键列 ” 弹出菜单中,选择包含记录 ID 的表格列。 “ 删除记录 ” 服务器行为将在此列搜索匹配值。此列与绑定到页面上的隐藏表单域的记录集列应包含相同的记录 ID 数据。 如果该记录 ID 是一个数字,请选择 “ 数字 ” 选项。 7   (PHP) 在 “ 主键值 ” 弹出菜单中,选择页上包含记录 ID 的变量,该记录 ID 标识了要删除的记录。 该变量是由隐藏表单域创建的。其名称与隐藏字段的 name 属性相同,是一个表单参数或 URL 参数,具体取决于该表单的 method 属性。 8   在 “ 删除后,转到 ” 框或 “ 如果成功,则转到 ” 框中,指定从数据库表删除该记录后要打开的页。 可以指定向用户显示含有简短的成功消息的页,或者指定一个页,在其中列出剩余记录,使用户可以验证该记录是否已被删 除。 9   单击 “ 确定 ” 保存您的工作。 添加服务器行为以删除记录 (ASP) 1   请确保 ASP 删除页在 Dreamweaver 中打开。 2   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮,然后选择 “ 删除记录 ”。 3   在 “ 连接 ” 弹出菜单中,选择一个到该数据库的连接,这样服务器行为就可以连接到受影响的数据库。 如果您需要定义连接,则单击 “ 定义 ” 按钮。 4   在 “ 从表格中删除 ” 弹出菜单中,选择包含要删除的记录的数据库表格。 5   在 “ 选取记录自 ” 弹出菜单中,指定包含要删除的记录的记录集。 6   在 “ 唯一键列 ” 弹出菜单中,选择一个键列 (通常是记录 ID 列)来标识数据库表中的记录。 如果该值是一个数字,则选择 “ 数字 ” 选项。键列通常只接受数值,但有时候也接受文本值。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   527 以可视化方式生成应用程序 7   在 “ 提交此表单以删除 ” 弹出菜单中,指定具有将删除命令发送到服务器的 “ 提交 ” 按钮的 HTML 表单。 8   在 “ 删除后,转到 ” 框中,指定从数据库表格删除该记录之后将打开的页。 可以指定向用户显示简短的成功消息的页,或者指定一个在其中列出剩余记录的页,使用户可以验证该记录是否已被删除。 9   单击 “ 确定 ” 保存您的工作。 测试删除页 1   将搜索、结果和删除页上传到 Web 服务器,打开浏览器,然后搜索要删除的一次性测试记录。 当单击结果页上的 “ 删除 ” 链接时,将显示删除页。 2   单击 “ 确认 ” 按钮可从数据库中删除该记录。 3   要验证记录是否已被删除,请再次搜索该记录。结果页中将不再显示该记录。 使用高级数据操作对象来生成页 (ColdFusion、 ASP) 关于 ASP 命令对象 ASP 命令对象 是对数据库执行某种操作的服务器对象。该对象可以包含任何有效的 SQL 语句,包括返回记录集的语句或在数 据库中插入、更新或删除记录的语句。如果 SQL 语句添加或删除表格中的列,则命令对象可以改变数据库的结构。您还可以使 用命令对象在数据库中运行预存过程。 应用程序服务器可以重复使用该对象的单个编译的版本来多次执行命令,从这种意义上说,命令对象是可以重复使用的。通过 将命令对象的 “Prepared” 属性设置为 true 可以使该命令能够重复使用,如下面的 VBScript 语句所示: mycommand.Prepared  =  true 如果您知道将多次执行该命令,则具有该对象的单个编译的版本可以使数据库操作更加有效。 注:并不是所有数据库提供程序都支持已准备命令。如果您的数据库不支持,则将此属性设置为 true 时,可能返回一条错误消 息。它甚至可能忽略准备命令的请求并将 “Prepared” 属性设置为 false。 命令对象是由 ASP 页上的脚本创建的,但是 Dreamweaver 允许您创建命令对象而无需编写 ASP 代码。 使用 ASP 命令修改数据库 您可以使用 Dreamweaver 创建在数据库中插入、更新或删除记录的 ASP 命令对象。您可以向命令对象提供对数据库执行操 作的 SQL 语句或预存过程。 1   在 Dreamweaver 中,打开将运行该命令的 ASP 页。 2   打开 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”),单击加号 (+) 按钮,然后选择 “ 命令 ”。 3   输入命令的名称,选择指向包含要编辑的记录的数据库的连接,然后选择需要执行该命令的编辑操作 (插入、更新或删 除)。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   528 以可视化方式生成应用程序 Dreamweaver 将根据您选择的操作类型启动相应的 SQL 语句。例如,如果您选择 “ 插入 ”,则对话框将如下例所示: 4   完成 SQL 语句。 有关编写修改数据库的 SQL 语句的信息,请查询 Transact-SQL 手册。 5   使用 “ 变量 ” 区域定义任何 SQL 变量。提供变量名称和运行时值。指定每个变量的类型和大小可防范注入式攻击。 下例显示了包含三个 SQL 变量的插入语句。这三个变量的值是由传递到页的 URL 参数提供的,如在 “ 变量 ” 区域的 “ 运行时 值 ” 列中定义的那样。 若要获取 “ 大小 ” 值,请使用 Dreamweaver 中的 “ 数据库 ” 面板。在 “ 数据库 ” 面板中,查找所需的数据库并将其展开。然 后,查找正在使用的表并将其展开。表中会列出各个字段的大小。例如,表中可能会显示 “ADDRESS (WChar 50)”。在本例 中, 50 就是大小值。也可以在数据库应用程序中查找大小值。 注:数字、布尔和日期 / 时间数据类型总是使用 -1 作为大小值。 若要确定 “ 类型 ” 值,请参阅下表: 数据库中的类型 Dreamweaver 中的类型 大小 数字 (MS Access、 MS SQL Server、 MySQL) 双精度 -1 布尔型 (是 / 否)(MS Access、 MS SQL Server、 MySQL) 双精度 -1 日期 / 时间 (MS Access、 MS SQL Server、 MySQL) DBTimeStamp -1 所有其它文本字段类型,包括 MySQL 文本数据类型 (char、 varchar 和 LongVarChar                     检查数据库表 longtext) 文本 (MS Access) 或 nvarchar、 nchar (MS SQL Server) VarWChar 检查数据库表 备注 (MS Access)、 ntext (MS SQL Server) 或支持大量文本的字段 LongVarWChar 1073741823 有关 SQL 变量的类型和大小的详细信息,请参阅 www.adobe.com/go/4e6b330a_cn。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   529 以可视化方式生成应用程序 6   关闭对话框。 Dreamweaver 将在您的页面中插入 ASP 代码,该代码在服务器上运行时将创建一个在数据库中插入、更新或删除记录的命 令。 默认情况下,该代码将命令对象的 “Prepared” 属性设置为 true,这使应用程序服务器在每次运行该命令时都重复使用对象的 单个编译的版本。若要更改此设置,请切换到 “ 代码 ” 视图并将 “Prepared” 属性更改为 false。 7   创建一个包含 HTML 表单的页,以便用户可以输入记录数据。在 HTML 表单中包含三个文本字段 (txtCity、 txtAddress 和 txtPhone)和一个提交按钮。该表单使用 GET 方法并将文本字段值提交到包含您的命令的页。 关于预存过程 虽然您可以使用服务器行为生成修改数据库的页面,但也可以使用数据库操作对象 (例如预存过程或 ASP 命令对象)生成这 些页面。 预存过程是一种可以重复使用的数据库项,用于对数据库执行某种操作。预存过程包含具有一定功能的 SQL 代码,例如能够 插入、更新或删除记录的 SQL 代码。预存过程还可以改变数据库本身的结构。例如,您可以使用预存过程添加表格列,或者甚 至可以删除表格。 一个预存过程还可以调用另一个预存过程,以及接受输入参数并以输出参数的形式向调用过程返回多个值。 您可以重复使用预存过程的单个编译的版本来多次执行数据库操作,从这种意义上说,预存过程是可以重复使用的。如果您知 道将多次执行某个数据库任务 (即不同的应用程序将执行相同的任务),则使用预存过程执行该任务可以使数据库操作更有 效。 注:MySQL 和 Microsoft Access 数据库不支持预存过程。 添加预存过程 (ColdFusion) 您可以使用预存过程修改数据库。预存过程是一种可以重复使用的数据库项,用于对数据库执行某种操作。 在您使用预存过程修改数据库之前,确保预存过程包含以某种方式修改数据库的 SQL。若要在数据库中创建并存储一个 SQL, 请查询您的数据库文档以及有用的 Transact-SQL 手册。 1   在 Dreamweaver 中,打开将运行预存过程的页。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮,然后选择 “ 预存过程 ”。 3   在 “ 数据源 ” 弹出菜单中,选择一个到包含预存过程的数据库的连接。 4   输入 ColdFusion 数据源的用户名和密码。 5   从 “ 过程 ” 弹出菜单中选择一个预存过程。 Dreamweaver 自动填写任何参数。 6   选择参数,如果需要进行更改请单击 “ 编辑 ”。 即会出现 “ 编辑预存过程变量 ” 对话框。正在编辑的变量名显示在 “ 名称 ” 框中。 注:您必须为任何预存过程输入参数输入测试值。 7   按需要进行更改: · 从弹出菜单中选择一个方向。预存过程可能具有输入值、输出值,或者既具有输入值又具有输出值。 · 从弹出菜单中选择 SQL 类型。输入返回变量、运行时值和测试值。 8   如果预存过程采用参数,则单击加号 (+) 按钮添加页参数。 注:您必须为每个预存过程参数返回值输入对应的页参数。除非有对应的返回值,否则不要添加页参数。 如果需要,再次单击加号 (+) 按钮添加另一个页参数。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   530 以可视化方式生成应用程序 9   选择一个页参数,并单击减号 (-) 按钮删除该参数 (如果需要)或单击 “ 编辑 ” 对该参数进行更改。 10 选择“返回具有以下名称的记录集”选项,然后输入记录集的名称;如果预存过程返回记录集,则单击“测试”按钮查看预存过 程返回的记录集。 Dreamweaver 运行预存过程并显示记录集 (如果存在)。 注:如果预存过程返回记录集并采用参数,则您必须在 “ 变量 ” 框的 “ 默认值 ” 列中输入一个值以测试该预存过程。 您可以使用不同的测试值生成不同的记录集。若要更改测试值,则单击 “ 参数 ” 的 “ 编辑 ” 按钮,然后更改测试值;或者 单击 “ 页参数 ” 的 “ 编辑 ” 按钮,然后更改默认值。 11 如果预存过程返回状态代码返回值,则选择 “ 返回具有以下名称的状态代码 ” 选项,然后输入状态代码的名称。单击 “ 确定 ”。 关闭对话框后, Dreamweaver 将在您的页中插入 ColdFusion 代码,当在服务器上运行该代码时,将调用数据库中的预存过 程。预存过程接着执行数据库操作,例如插入记录。 如果预存过程采用参数,则您可以创建一个页,该页通过预存过程收集参数值并将参数值提交到页。例如,您可以创建一个使 用 URL 参数或 HTML 表单从用户收集参数值的页。 更多帮助主题 第 468 页的 “ 通过编写 SQL 来定义高级记录集 ” 运行预存过程 (ASP) 当处理 ASP 页时,您必须将命令对象添加到页以运行预存过程。有关命令对象的详细信息,请参阅第 527 页的 “ 关于 ASP 命 令对象 ”。 1   在 Dreamweaver 中,打开将运行预存过程的页。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮,然后选择 “ 命令 (预存过程) ”。 即会出现 “ 命令 ” 对话框。 3   输入该命令的名称,选择一个到包含预存过程的数据库的连接,然后从 “ 类型 ” 弹出菜单中选择 “ 预存过程 ”。 4   选择您的预存过程,方法是展开 “ 数据库项 ” 框中的 “ 预存过程 ” 分支,从列表中选择预存过程,然后单击 “ 过程 ” 按钮。 5   在 “ 变量 ” 表格中输入任何所需的参数。 不需要为任何 RETURN_VALUE 变量输入任何参数。 6   单击 “ 确定 ”。 关闭该对话框后, ASP 代码便插入到您的页面中。当代码在服务器上运行时,代码将创建一个命令对象,该对象将在数据库中 运行预存过程。预存过程接着执行数据库操作,例如插入记录。 默认情况下,该代码将命令对象的 “Prepared” 属性设置为 true,这使应用程序服务器在每次运行预存过程时重复使用对象的 一个编译版本。如果您知道将多次执行该命令,则具有该对象的单个编译的版本可以提高数据库操作的效率。但是,如果该命 令只执行一两次,则使用单个编译的版本实际上可能会降低 Web 应用程序的效率,因为系统必须暂停来编译该命令。若要更 改设置,请切换到 “ 代码 ” 视图并将 “Prepared” 属性更改为 false。 注:并不是所有数据库提供程序都支持已准备命令。如果您的数据库不支持,当运行此页时,您可能会得到一条错误信息。切 换到 “ 代码 ” 视图并将 “Prepared” 属性更改为 false。 如果预存过程采用参数,则您可以创建一个页,该页通过预存过程收集参数值并将参数值提交到该页。例如,您可以创建一个 使用 URL 参数或 HTML 表单从用户收集参数值的页。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   531 以可视化方式生成应用程序 生成注册页 关于注册页 Web 应用程序可以包含要求用户在首次访问站点时进行注册的页。 注册页由以下构造块组成: · 存储有关用户登录信息的数据库表 · 使用户可以选择用户名和密码的 HTML 表单 您也可以使用该表单来获取用户的其它个人信息。 · 用于更新站点用户数据库表的 “ 插入记录 ” 服务器行为 · 用于确保用户输入的用户名没有被其他用户使用的 “ 检查新用户名 ” 服务器行为 更多帮助主题 第 531 页的 “ 添加用于选择用户名和密码的 HTML 表单 ” 第 532 页的 “ 更新用户的数据库表格 ” 第 532 页的 “ 添加用于确保用户名唯一的服务器行为 ” 存储有关用户的登录信息 注册页需要使用数据库表来存储用户输入的登录信息。 · 请确保数据库表包含用户名和密码列。如果您希望登录的用户具有不同的访问权限,请包含一个访问权限列。 · 如果要为站点的所有用户设置一个通用的密码,请配置数据库应用程序 (Microsoft Access、 Microsoft SQL Server、 Oracle 等),使其在默认情况下将该密码输入到每个新的用户记录中。在大多数数据库应用程序中,每次新建记录时,都 可以将一个列设置为默认值。将该默认值设置为密码。 · 您还可以使用数据库表来存储有关用户的其它有用信息。 创建注册页的下一步是向注册页添加一个 HTML 表单,以使用户可以选择用户名和密码 (如果适用)。 更多帮助主题 第 535 页的 “ 在用户数据库中存储访问权限 ” 添加用于选择用户名和密码的 HTML 表单 您可以向注册页添加一个 HTML 表单,以使用户可以选择用户名和密码 (如果适用)。 1   创建页 (“ 文件 ”>“ 新建 ”>“ 空白页 ”)并使用 Dreamweaver 设计工具设计注册页的布局。 2   将插入点放置在您想要显示表单的位置,然后从 “ 插入 ” 菜单中选择 “ 表单 ”,这样就可以添加一个 HTML 表单。 将在页面上创建一个空表单。您可能需要启用 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”)来查看表单的边界, 边界用红色细线表示。 3   为 HTML 表单命名,方法是单击 “ 文档 ” 窗口底部的  标签以选择表单,打开属性检查器(“ 窗口 ”>“ 属性 ”),然后在 “ 表单名称 ” 框中输入一个名称。 您不必为表单指定 action 或 method 属性来指示当用户单击 “ 提交 ” 按钮时表单向何处及如何发送记录数据。“ 插入记录 ” 服务 器行为会为您设置这些属性。 4   添加文本字段 (“ 插入 ”>“ 表单 ”>“ 文本域 ”),以便让用户输入用户名和密码。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   532 以可视化方式生成应用程序 该表单还可以包含更多的表单对象,以记录其它个人数据。 您应该在每个表单对象的旁边添加标签文字 (以文本或图像的形式),让用户知道它们的用途,还应该通过将表单对象放入 HTML 表格来排列这些对象。有关表单对象的详细信息,请参见第 546 页的 “ 创建 Web 表单 ”。 5   在表单上添加一个 “ 提交 ” 按钮 (“ 插入 ”>“ 表单 ”>“ 按钮 ”)。 可以通过以下方法更改 “ 提交 ” 按钮的标签文字:选择该按钮,打开属性检查器 (“ 窗口 ”>“ 属性 ”),并在 “ 值 ” 框中输入一 个新值。 创建注册页的下一步是添加 “ 插入记录 ” 服务器行为,以便将记录插入到数据库中的用户表格。 更新用户的数据库表格 您必须在注册页中添加 “ 插入记录 ” 服务器行为,以更新数据库中的用户表格。 1   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 插入记录 ”。 即会出现 “ 插入记录 ” 对话框。 2   完成此对话框,确保指定数据库中要插入用户数据的用户表格。单击 “ 确定 ”。 创建注册页的最后一步是确保用户名没有被其他注册用户使用。 更多帮助主题 第 514 页的 “ 逐块生成插入页 ” 添加用于确保用户名唯一的服务器行为 您可以将服务器行为添加到用户注册页,它将先验证用户名是唯一的,然后才将该用户添加到注册用户数据库中。 当用户单击注册页上的 “ 提交 ” 按钮时,该服务器行为将对用户输入的用户名和存储在注册用户数据库表中的用户名进行比 较。如果没有在数据库表中找到匹配的用户名,则该服务器行为通常会执行插入记录操作。如果找到匹配的用户名,该服务器 行为将取消插入记录操作并打开一个新页 (通常是提示用户该用户名已被使用的页)。 1   在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮并从弹出菜单中选择“用户身份验证”>“检查新用户名 ”。 2   在 “ 用户名字段 ” 弹出菜单中,选择访问者用来输入用户名的表单文本字段。 3   在 “ 如果已存在,则转到 ” 框中,指定在数据库表中找到匹配的用户名时所打开的页,并单击 “ 确定 ”。 所打开的页应提示用户该用户名已被使用,并且让用户重试。 生成登录页 关于登录页 Web 应用程序可以包含让注册用户登录站点的页。 登录页由以下构造块组成: · 注册用户的数据库表 · 使用户可以输入用户名和密码的 HTML 表单 · 确保输入的用户名和密码有效的 “ 登录用户 ” 服务器行为 当用户成功登录时,将为该用户创建一个包含其用户名的会话变量。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   533 以可视化方式生成应用程序 更多帮助主题 第 533 页的 “ 添加使用户可以登录的 HTML 表单 ” 第 533 页的 “ 验证用户名和密码 ” 创建注册用户的数据库表格 您需要使用注册用户的数据库表格来验证在登录页中输入的用户名和密码是否有效。 ❖  请使用数据库应用程序和注册页创建该表格。有关说明,请参见下面的相关主题链接。 生成登录页的下一步是将一个 HTML 表单添加到页面,以便用户可以登录。有关说明请参见下一个主题。 更多帮助主题 第 531 页的 “ 生成注册页 ” 添加使用户可以登录的 HTML 表单 您可以在页上添加一个 HTML 表单,以使用户可以通过输入用户名和密码来进行登录。 1   创建页 (“ 文件 ”>“ 新建 ”>“ 空白页 ”)并使用 Dreamweaver 设计工具设计登录页的布局。 2   将插入点放置在希望表单出现的位置,然后从 “ 插入 ” 菜单中选择 “ 表单 ”,这样就可以添加一个 HTML 表单。 将在页面上创建一个空表单。您可能需要启用 “ 不可见元素 ” (“ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”)来查看表单的边界, 边界用红色细线表示。 3   为 HTML 表单命名,方法是单击 “ 文档 ” 窗口底部的  标签以选择表单,打开属性检查器(“ 窗口 ”>“ 属性 ”),然后在 “ 表单名称 ” 框中输入一个名称。 您不必为表单指定 action 或 method 属性来指示当用户单击 “ 提交 ” 按钮时表单向何处及如何发送记录数据。登录用户服务器 行为会为您设置这些属性。 4   在该表单上添加一个用户名和一个密码文本字段 (“ 插入 ”>“ 表单 ”>“ 文本域 ”)。 在每个文本字段旁边添加标签 (以文本或图像的形式),然后将这些文本字段放入 HTML 表格并将表格的 border 属性设置为 0,以排列这些文本字段。 5   在表单上添加一个 “ 提交 ” 按钮 (“ 插入 ”>“ 表单 ”>“ 按钮 ”)。 可以通过以下方法更改 “ 提交 ” 按钮的标签文字:选择该按钮,打开属性检查器 (“ 窗口 ”>“ 属性 ”),并在 “ 标签文字 ” 框中 输入一个新值。 生成登录页的下一步是添加 “ 登录用户 ” 服务器行为,以验证输入的用户名和密码是否有效。 验证用户名和密码 您必须在登录页中添加 “ 登录用户 ” 服务器行为以确保用户输入的用户名和密码有效。 当用户单击登录页上的 “ 提交 ” 按钮时, “ 登录用户 ” 服务器行为将对用户输入的值和注册用户的值进行比较。如果这些值匹 配,该服务器行为会打开一个页 (通常是站点的欢迎屏幕)。如果这些值不匹配,则该服务器行为将会打开另一页 (通常是提 示用户登录尝试失败的页)。 1   在 “ 服务器行为 ” 面板(“ 窗口 ”>“ 服务器行为 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 用户身份验证 ”>“ 登录用户 ”。 2   指定访问者在输入用户名和密码时所使用的表单和表单对象。 3   (ColdFusion) 如果可行,请输入您的用户名和密码。 4   指定包含所有注册用户的用户名和密码的数据库表和列。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   534 以可视化方式生成应用程序 该服务器行为将对访问者在登录页上输入的用户名及密码和这些列中的值进行比较。 5   指定在登录过程成功时所打开的页。 所指定的页通常是站点的欢迎屏幕。 6   指定在登录过程失败时所打开的页。 所指定的页通常会提示用户登录过程已失败,并且让用户重试。 7   如果要让用户在试图访问受限页后前进到登录页,并且在登录后返回到该受限页,请选择 “ 转到前一 URL” 选项。 如果用户未先登录就试图通过打开受限页来访问站点,则受限页可以使该用户前进到登录页。当用户成功登录后,登录页会将 该用户重定向到原来使用户前进到登录页的受限页。 当您在这些页上完成 “ 限制对页的访问 ” 服务器行为的对话框后,请确保在 “ 如果访问被拒绝,则转到 ” 框中指定登录页。 8   指定是仅根据用户名和密码还是同时根据授权级别来授予对该页的访问权,并单击 “ 确定 ”。 将向登录页添加服务器行为以确保访问者输入的用户名和密码是有效的。 更多帮助主题 第 535 页的 “ 重定向未授权的用户 ” 第 534 页的 “ 生成只有授权用户才能访问的页 ” 生成只有授权用户才能访问的页 关于受保护页 Web 应用程序可以包含只有授权用户才能访问的受保护页。 例如,如果用户试图通过在浏览器中键入受保护页的 URL 来绕过登录页,则该用户将被重定向到另一页。同样,如果将页的 授权级别设置为管理员,则只有具有管理员访问权限的用户才能查看该页。如果已登录的用户试图访问不具有正确访问权限的 受保护页,则该用户将被重定向到另一页。 您也可以使用授权级别在向新注册的用户授予站点的完全访问权限之前对他们进行审查。例如,您最好在允许用户访问站点的 成员页之前接收付款。为此,可以用 “ 成员 ” 授权级别保护成员页,而仅向新注册的用户授予 “ 来宾 ” 权限。当收到用户的付 款后,可以将用户的访问权限升级为 “ 成员 ” (在注册用户的数据库表中)。 如果您不打算使用授权级别,只需在页面上添加 “ 限制对页的访问 ” 服务器行为即可保护站点上的任何页。该服务器行为将尚 未成功登录的任何用户重定向到另一页。 如果您确实打算使用授权级别,则可以用以下构造块保护站点上的任意页: · 用于将未授权用户重定向到另一页的 “ 限制对页的访问 ” 服务器行为 · 用户数据库表中用于存储每个用户访问权限的附加列 无论您是否使用授权级别,均可以在受保护的页上添加一个链接,支持用户注销并清除所有会话变量。 更多帮助主题 第 536 页的 “ 保护应用程序中的文件夹 (ColdFusion)” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   535 以可视化方式生成应用程序 重定向未授权的用户 若要防止未授权的用户访问某一页,可以在该页上添加 “ 限制对页的访问 ” 服务器行为。如果用户试图通过在浏览器中键入受 保护页的 URL 来绕过登录页,或者如果用户已登录但试图访问不具有正确访问权限的受保护页,该服务器行为就会将用户重 定向到另一页。 注:“ 限制对页的访问 ” 服务器行为只能保护 HTML 页。它不保护其它站点资源,如图像文件和音频文件。 如果要为站点上的多个页授予相同的访问权限,可以复制一个页的访问权限,然后将其粘贴到另一个页。 将未授权的用户重定向到另一页 1   打开要保护的页。 2   在“服务器行为”面板(“窗口”>“服务器行为”)中,单击加号 (+) 按钮并从弹出菜单中选择“用户身份验证”>“限制对页的访 问 ”。 3   选择该页的访问级别。若要仅允许具有特定访问权限的用户查看该页,请选中 “ 用户名、密码和访问级别 ” 选项并指定该页的 授权级别。 例如,通过在授权级别列表中选择 “ 管理员 ”,可以指定只有具有 “ 管理员 ” 权限的用户才能查看该页。 4   若要在该列表中添加授权级别,请单击 “ 定义 ”。在出现的 “ 定义访问级别 ” 列表中,输入新的授权级别,并单击加号 (+) 按 钮。将存储新建的授权级别以用于其它页。 确保该授权级别的字符串与存储在数据库中的字符串完全匹配。例如,如果数据库中的授权列包含值 "Administrator",则请在 “ 名称 ” 框中输入 Administrator (而不是 Admin)。 5   若要为某页设置多个授权级别,请按住 Ctrl 单击 (Windows) 或按住 Command 单击 (Macintosh) 列表中的级别。 例如,您可以指定任何具有 “ 来宾 ”、 “ 成员 ” 或 “ 管理员 ” 权限的用户都能够查看该页。 6   指定在未授权用户试图打开受保护页时所打开的页。 确保您选择的页不受保护。 7   单击 “ 确定 ”。 复制某页的访问权限并将其粘贴到站点的其它页 1   打开受保护的页,并选择 “ 服务器行为 ” 面板 (而不是加号 (+) 弹出菜单)中列出的 “ 限制对页的访问 ” 服务器行为。 2   单击该面板右上角的箭头按钮,然后从弹出菜单中选择 “ 复制 ”。 “ 限制对页的访问 ” 服务器行为被复制到系统的剪贴板上。 3   按照同一方式打开另一个要保护的页。 4   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 服务器行为 ”)上,单击右上角的箭头按钮并从弹出菜单中选择 “ 粘贴 ”。 5   对于每个要保护的页重复第 3 步和第 4 步。 在用户数据库中存储访问权限 只有在需要让某些登录用户具有不同的访问权限时,该构造块才是必需的。如果您只是要求用户登录,则不需要存储访问权 限。 1   若要为某些登录用户提供不同的访问权限,请确保用户的数据库表包含一个用来指定每个用户访问权限 (“ 来宾 ”、 “ 用户 ”、 “ 管理员 ” 等)的列。每个用户的访问权限应该由站点管理员在数据库中输入。 在大多数数据库应用程序中,每次新建记录时,都可以将一个列设置为默认值。将该默认值设置为站点上最常用的访问权限 (例如 “ 来宾 ”);然后手动更改例外的情况 (例如,将 “ 来宾 ” 更改为 “ 管理员 ”)。用户现在即可访问所有管理员页。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   536 以可视化方式生成应用程序 2   确保数据库中的每个用户都具有单一的访问权限(例如 “ 来宾 ” 或 “ 管理员 ”),而不是多项权限(例如 “ 用户 ”、“ 管理员 ”)。 若要为您的页设置多项访问权限 (例如,所有来宾和管理员都可以查看该页),则在页级别 (而不是在数据库级别)设置 这些权限。 注销用户 当用户成功登录后,将创建一个包含其用户名的会话变量。当用户退出站点时,您可以使用 “ 注销用户 ” 服务器行为来清除该 会话变量并将用户重定向到另一页 (通常是 “ 再见 ” 或 “ 谢谢 ” 页)。 当用户单击链接或者当指定页加载时,可以调用 “ 注销用户 ” 服务器行为。 添加用于让用户注销的链接 1   在页上选择要用作该链接的文本或图像。 2   在 “ 服务器行为 ” 面板 (“ 窗口 ”>“ 行为 ”)上,单击加号 (+) 按钮并选择 “ 用户身份验证 ”>“ 注销用户 ”。 3   指定在用户单击该链接时要打开的页,然后单击 “ 确定 ”。 该页通常是 “ 再见 ” 或 “ 谢谢 ” 页。 在特定页加载时注销用户 1   打开将在 Dreamweaver 中加载的页。 该页通常是 “ 再见 ” 或 “ 谢谢 ” 页。 2   在 “ 服务器行为 ” 面板上,单击加号 (+) 按钮并选择 “ 用户身份验证 ”>“ 注销用户 ”。 3   选择 “ 当页加载时注销 ” 选项,然后单击 “ 确定 ”。 保护应用程序中的文件夹 (ColdFusion) 保护服务器上的文件夹或站点 (ColdFusion) 可以使用 Dreamweaver 对 ColdFusion 应用程序中的特定文件夹 (包括应用程序的根文件夹)进行密码保护。当站点访问者 请求指定文件夹中的任何页面时, ColdFusion 都会提示该访问者输入用户名和密码。 ColdFusion 将用户名和密码存储在会 话变量中,因此访问者无需在会话过程中再次输入用户名和密码。 注:只有您对运行 ColdFusion MX 7 或更高版本的计算机具有访问权限时,才能使用此功能。 1   在 Dreamweaver 中打开 ColdFusion 文档后,选择 “ 命令 ”>“ColdFusion 登录向导 ”。 2   完成 ColdFusion 登录向导。 a   指定要保护的文件夹的完整路径,然后单击 “ 下一步 ”。 b   在下一个屏幕中,选择以下身份验证类型之一: 简单验证  用所有用户都能使用的同一用户名和密码保护应用程序。 Windows NT 验证  使用 NT 用户名和密码保护应用程序。 LDAP 验证  用存储在 LDAP 服务器上的用户名和密码保护应用程序。 c 指定希望用户使用 ColdFusion 登录页还是弹出菜单进行登录。 d   在下一个屏幕中,指定以下设置: · 如果选择了简单验证,则指定每个访问者必须输入的用户名和密码。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   537 以可视化方式生成应用程序 · 如果选择了 Windows NT 验证,则指定要验证的 NT 域。 · 如果选择了 LDAP 验证,则指定要验证的 LDAP 服务器。 3   将新文件上传到远程站点。这些文件位于本地站点文件夹中。 更多帮助主题 第 558 页的 “ 启用 ColdFusion 增强功能 ” 第 534 页的 “ 生成只有授权用户才能访问的页 ” 第 536 页的 “ 保护应用程序中的文件夹 (ColdFusion)” 使用 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 页时, “ 组件 ” 面板才可用。 更多帮助主题 第 540 页的 “ 生成使用 CFC 的 Web 页 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   538 以可视化方式生成应用程序 在 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 文件。 更多帮助主题 第 540 页的 “ 生成使用 CFC 的 Web 页 ” 第 537 页的 “ 关于 ColdFusion 组件 ” 在 Dreamweaver 中查看 CFC Dreamweaver 提供了一种方法,可用来以可视化方式对站点文件夹中或服务器上的 ColdFusion 组件 (CFC) 进行总体检查。 Dreamweaver 将读取 CFC 文件并在 “ 组件 ” 面板中以一种易于导航的树状视图显示有关信息。 Dreamweaver 在测试服务器中查找组件 (请参阅第 444 页的 “ 在 Dreamweaver 中连接到数据库 ”)。如果创建 CFC 或对 现有 CFC 进行更改,请确保将 CFC 文件上传到测试服务器,以便这些文件能在 “ 组件 ” 面板中准确地反映出来。 若要查看位于其它服务器的组件,请更改测试服务器的设置。 您可以查看有关 CF 组件的下列任何信息: · 列出服务器上定义的所有 ColdFusion 组件。 · 如果运行的是 ColdFusion MX 7 或更高版本,则过滤该列表以便仅显示位于您的站点文件夹中的 CFC。 · 了解每个组件的函数和参数。 · 检查用作 Web 服务的函数的属性。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   539 以可视化方式生成应用程序 若要使用 Dreamweaver 检查驻留在服务器根目录中的 CFC,同时还要管理不同网站根目录中的站点文件,可以定义两个 Dreamweaver 站点。将第一个站点设置为指向服务器根目录,将第二个站点设置为指向网站根目录。使用 “ 文件 ” 面板上 的站点弹出菜单可在这两个站点之间快速切换。 若要在 Dreamweaver 中查看 CFC,请按照以下步骤操作: 1   在 Dreamweaver 中打开任意 ColdFusion 页。 2   在 “ 组件 ” 面板 (“ 窗口 ”>“ 组件 ”)中,从弹出菜单中选择 “CF 组件 ”。 3   单击面板中的 “ 刷新 ” 按钮以检索组件。 将显示服务器上的组件包。组件包 就是包含 CFC 文件的文件夹。 如果现有组件包没有显示,则单击面板工具栏中的 “ 刷新 ” 按钮。 4   若要仅显示站点文件夹中的 CFC,请在 “ 组件 ” 面板工具栏中单击 “ 仅显示当前站点的 CFC” 按钮。 注:仅当将运行 ColdFusion MX 6 或更高版本的计算机定义为 Dreamweaver 的测试服务器时,才能使用此功能。 注:如果当前站点在远程服务器上的虚拟文件夹中列出,则筛选操作无效。 5   单击组件包名称旁边的加号 (+) 按钮以查看包中存储的组件。 · 若要列出某个组件的函数,请单击该组件名称旁边的加号 (+) 按钮。 · 若要查看函数采用的参数、参数类型以及它们是必需的还是可选的,请在树状视图中打开该函数的分支。 没有参数的函数旁边没有加号 (+) 按钮。 · 若要快速查看参数、函数、组件或包的详细信息,请在树状视图中选择相应项,然后单击面板工具栏中的 “ 获取详细信息 ” 按 钮。 还可以右键单击相应项 (Windows) 或在按住 Control 同时单击相应项 (Macintosh),然后从弹出菜单中选择 “ 获取详细信息 ”。 将在消息框中显示有关所选项的详细信息。 更多帮助主题 第 38 页的 “ 设置测试服务器 ” 第 558 页的 “ 启用 ColdFusion 增强功能 ” 第 540 页的 “ 生成使用 CFC 的 Web 页 ” 在 Dreamweaver 中编辑 CFC Dreamweaver 提供了一种简化的方法来编辑为您的站点定义的 ColdFusion 组件的代码。例如,您不需要离开 Dreamweaver 即可添加、更改或删除任何组件函数。 若要使用此功能,您的开发环境必须按如下方式进行设置: · ColdFusion 必须在本地运行。 · 在 Dreamweaver 的高级 “ 站点定义 ” 对话框中, “ 测试服务器 ” 类别中指定的 “ 访问类型 ” 必须是 “ 本地 / 网络 ”。 · 在高级 “ 站点定义 ” 对话框中,您的本地根文件夹的路径必须与测试服务器文件夹的路径相同 (例如 c:\Inetpub\wwwroot\cf_projects\myNewApp\)。您可以通过选择 “ 站点 ”>“ 编辑站点 ” 来检查和更改这两个路径。 · 组件必须存储在硬盘上的本地站点文件夹或该文件夹的任何子文件夹中。 在 Dreamweaver 中打开任意 ColdFusion 页,并在 “ 组件 ” 面板中显示组件。若要显示组件,请打开 “ 组件 ” 面板 (“ 窗口 ”>“ 组件 ”),从面板的弹出菜单中选择 “CF 组件 ”,然后单击面板上的 “ 刷新 ” 按钮。 由于 ColdFusion 是在本地运行的,因此 Dreamweaver 将显示硬盘中的组件包。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   540 以可视化方式生成应用程序 通过以下步骤编辑组件。 1   在 Dreamweaver 中打开任意 ColdFusion 页,并在 “ 组件 ” 面板 (“ 窗口 ”>“ 组件 ”)中显示组件。 2   从面板的弹出菜单中选择 “CF 组件 ”,然后单击面板上的 “ 刷新 ” 按钮。 由于 ColdFusion 是在本地运行的,因此 Dreamweaver 将显示硬盘中的组件包。 注:若要以可视化方式编辑 CFC 记录集,请在 “ 绑定 ” 面板中双击该记录集。 3   若要编辑某个组件文件,通常需要打开包并在树状视图中双击该组件的名称。 将在 “ 代码 ” 视图中打开组件的文件。 4   若要编辑特定的函数、参数或属性,请在树状视图中双击相应项。 5   在 “ 代码 ” 视图中手动进行更改。 6   保存文件 (“ 文件 ”>“ 保存 ”)。 7   若要查看 “ 组件 ” 面板中的任何新函数,请单击面板工具栏中的 “ 刷新 ” 按钮来刷新视图。 更多帮助主题 第 538 页的 “ 在 Dreamweaver 中查看 CFC” 生成使用 CFC 的 Web 页 在网页中使用组件函数的一种方法是在页面中写入该页面被请求时可以调用函数的代码。您可以使用 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 或更高版本的计算机具有访问权限时,才能使用此功能。有关详细信息,请参阅第 558 页的 “ 启用 ColdFusion 增强功能 ”。 1   在 Dreamweaver 中创建 CFC 文件或打开现有的 CFC 文件。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 记录集 ( 查询 )”。 出现 “ 记录集 ” 对话框。您既可使用简单 “ 记录集 ” 对话框,也可使用高级 “ 记录集 ” 对话框。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   541 以可视化方式生成应用程序 3   若要使用 CFC 中的某个现有函数,请从 “ 函数 ” 弹出菜单中选择该函数并跳到步骤 5。 记录集是在函数中定义的。 4   若要在 CFC 中定义新的函数,请单击 “ 新函数 ” 按钮,在出现的对话框中输入函数的名称,然后单击 “ 确定 ”。 该名称只能包含字母数字字符和下划线 (_)。 5   若要定义函数的记录集,请完成 “ 记录集 ” 对话框选项。 新函数将被插入到定义记录集的 CFC 中。 更多帮助主题 第 538 页的 “ 在 Dreamweaver 中创建或删除 CFC” 将 CFC 记录集用作动态内容源 如果某个 ColdFusion 组件 (CFC) 包含定义记录集的函数,则可以将该组件用作页面的动态内容源。 注:只有您对运行 ColdFusion MX 7 或更高版本的计算机具有访问权限时,才能使用此功能。有关详细信息,请参阅 “ 启用 ColdFusion 增强功能 ”。 1   在 Dreamweaver 中打开 ColdFusion 页。 2   在 “ 绑定 ” 面板 (“ 窗口 ”>“ 绑定 ”)中,单击加号 (+) 按钮并从弹出菜单中选择 “ 记录集 ( 查询 )”。 出现 “ 记录集 ” 对话框。您既可使用简单 “ 记录集 ” 对话框,也可使用高级 “ 记录集 ” 对话框。 3   单击 “CFC 查询 ” 按钮。 4   完成 “CFC 查询 ” 对话框,单击 “ 确定 ”,然后再次单击 “ 确定 ” 将 CFC 记录集添加到 “ 绑定 ” 面板中的可用内容源列表中。 5   使用 “ 绑定 ” 面板将记录集绑定到各种页面元素。 有关详细信息,请参阅第 479 页的 “ 向页面添加动态内容 ”。 使用 CFC 定义动态内容 通过使用包含记录集定义的 CFC 可以在 Dreamweaver 中将记录集定义为动态内容源。 1   在 “ 名称 ” 框中,输入 CFC 记录集的名称。 通常的做法是在记录集名称前添加前缀 rs,以将其与代码中的其它对象名称区分开,例如 rsPressRelease。 记录集名称只能包含字母数字字符和下划线 (_)。不能使用特殊字符或空格。 2   从服务器上已定义的包中选择一个包。 如果该包未出现在弹出菜单中,则可以通过单击弹出菜单附近的 “ 刷新 ” 按钮来刷新包的列表。 确保首先将 CFC 上传到测试服务器。只有测试服务器上的 CFC 才能被显示出来。 3   从当前选择的包中所定义的组件中选择一个组件。 如果 “ 组件 ” 弹出菜单不包含任何组件,或者您以前创建的任何组件都没有出现在该菜单中,应将 CFC 文件上传到测试服务 器。 4  (可选)若要创建组件,请单击 “ 创建新组件 ” 按钮。 a   在 “ 名称 ” 框中,输入新 CFC 的名称。该名称只能包含字母数字字符和下划线 (_)。 b   在 “ 组件目录 ” 框中,输入 CFC 的放置位置,或通过浏览找到相应的文件夹。 注:文件夹必须为站点根文件夹的相对路径。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   542 以可视化方式生成应用程序 5   从 “ 函数 ” 弹出菜单中,选择包含记录集定义的函数。 “ 函数 ” 弹出菜单仅包含当前选定组件中定义的函数。如果没有任何函数出现在此弹出菜单中,或是如果您最近的更改未反映 在当前列出的函数中,请检查是否已将最近的更改保存并上传到了服务器。 注:“ 连接 ” 和 “SQL” 框是只读的。 6   通过单击 “ 编辑 ” 按钮来编辑每个必须作为函数参数传递的参数 (类型、值和默认值)。 a   为当前参数输入一个值,方法是从 “ 值 ” 弹出菜单中选择值类型并在右侧的框中输入值。 值类型可以为 URL 参数、表单变量、 Cookie、会话变量、应用程序变量或输入的值。 b   在 “ 默认值 ” 框中输入该参数的默认值。 如果未返回任何运行时值,则使用该默认参数值。 c 单击 “ 确定 ”。 您不能修改记录集的数据库连接和 SQL 查询。这些字段始终处于禁用状态 -- 连接和 SQL 查询仅为提供信息而显示。 7   单击 “ 测试 ” 连接到数据库并创建一个记录集实例。 如果 SQL 语句包含页参数,则在单击 “ 测试 ” 前,请确保 “ 参数 ” 框的 “ 默认值 ” 列包含有效的测试值。 如果查询执行成功,则会有一个表显示该记录集。每行包含一条记录,而每列表示该记录中的一个域。 单击 “ 确定 ” 清除 CFC 查询。 8   单击 “ 确定 ”。 草稿 上次更新 2010/3/21 第 21 章 : 生成表单 当访问者在 Web 浏览器中显示的 Web 表单中输入信息,然后单击提交按钮时,这些信息将被发送到服务器,服务器中的服务 器端脚本或应用程序会对这些信息进行处理。服务器向用户 (或客户端)发回所处理的信息或基于该表单内容执行某些其他操 作,以此进行响应。 可以使用 Dreamweaver 创建将数据提交到大多数应用程序服务器 (包括 PHP、 ASP 和 ColdFusion)的表单。如果使用 ColdFusion,您也可以在表单中添加特定于 ColdFusion 的表单控件。表单可以具有文本字段、密码字段、单选按钮、复选 框、弹出菜单、可单击按钮和其它表单对象。 Dreamweaver 还可以编写用于验证访问者所提供的信息的代码。例如,可以检 查用户输入的电子邮件地址是否包含 “@” 符号,或者某个必须填写的文本域是否包含值。 从用户处收集信息 关于从用户处收集信息 可以用 Web 表单或超文本链接来从用户处收集信息,将信息存储在服务器的内存中,然后根据用户的输入用这些信息来创建 动态响应。收集信息最常用的工具是 HTML 表单和超文本链接。 HTML 表单  可以收集来自用户的信息并将其存储在服务器的内存中。 HTML 表单可以将信息作为表单参数或 URL 参数来发 送。 超文本链接  可以收集来自用户的信息并将其存储在服务器的内存中。通过将值追加到锚记中指定的 URL 上,可以指定当用户 单击链接 (如某个首选参数)时要提交的值。当用户单击该链接时,浏览器会将 URL 和追加的值一起发送给服务器。 HTML 表单参数 表单参数通过 HTML 表单的方式使用 POST 或 GET 方法发送到服务器。 在使用 POST 方法时,参数作为文档标题的一部分发送到 Web 服务器,对于使用标准方法查看页面的任何人都是不可见和不 可访问的。应将 POST 方法用于会影响数据库内容的值 (例如插入、更新或删除记录),或者用于通过电子邮件发送的值。 GET 方法将参数追加到请求的 URL 上。因此,这些参数对于查看页面的任何人都是可见的。应将 GET 方法用于搜索表单。 可使用 Dreamweaver 快速设计向服务器发送表单参数的 HTML 表单。注意您所使用的从浏览器向服务器传输信息的方法。 表单参数采用其相应表单对象的名称。例如,如果表单中包含一个名为 txtLastName 的文本域,则当用户单击 “ 提交 ” 按钮 时,将有如下表单参数发送给服务器: txtLastName=enteredvalue 如果 Web 应用程序需要一个精确的参数值 (例如当该应用程序根据几种选项之一来执行一项操作时),则可以用单选按钮、 复选框或者列表 / 菜单表单对象来控制用户可以提交的值。这样可以防止用户错误地键入某些信息并引起应用程序错误。下例 描述一个提供三个选项的弹出菜单表单: 543 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   544 生成表单 每个菜单选项对应一个作为表单参数提交给服务器的硬编码值。下面示例中的 “ 列表值 ” 对话框将每个列表项都与一个值 (“Add”、 “Update” 或 “Delete”)匹配起来: 创建完表单参数后, Dreamweaver 可以检索该值并将其用在 Web 应用程序中。在 Dreamweaver 中定义了表单参数之后, 可将其值插入到页面中。 更多帮助主题 第 546 页的 “ 创建 Web 表单 ” 第 479 页的 “ 向页面添加动态内容 ” 第 434 页的 “ 访问数据库 ” URL 参数 URL 参数可使您将用户提供的信息从浏览器传递到服务器。当服务器收到请求,而且参数被追加到请求的 URL 上时,服务器 在将请求的页提供给浏览器之前,向参数提供对请求页的访问。 URL 参数是追加到 URL 上的一个名称 - 值对。参数以问号 (?) 开始 并采用 name=value 的形式。如果存在多个 URL 参数,则 参数之间用 (&) 符隔开。下例显示带有两个名称 - 值对的 URL 参数: http://server/path/document?name1=value1&name2=value2 在此工作流程示例中,应用程序是一家基于 Web 的店面。由于希望招徕最大范围的可能顾客,所以站点的开发人员将站点设 计得可以支持多种外币。用户登录到该站点之后,他们可以选择使用哪种货币来查看所列商品的价格。 1   浏览器向服务器请求 report.cfm 页。该请求包括 URL 参数 Currency="euro"。 Currency="euro" 变量指定所有检索到 的货币数值都以欧盟的欧元为单位来显示。 2   服务器将 URL 参数临时存储在内存中。 3   report.cfm 页使用该参数来检索以欧元为单位的商品价格。这些货币数值既可以存储在反映不同货币的数据库表中,也可 以从与每种商品相关联的单一货币形式转换为应用程序支持的任何货币形式。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   545 生成表单 4   服务器将 report.cfm 页发送给浏览器,并以请求的货币形式显示商品的价格。此用户结束会话时,服务器将清除 URL 参 数的值,释放服务器内存以存放新的用户请求。 WEB 服务器 http://www.mysite.com/ report.cfm?Currency="€" Currency="€" Web 浏览器 report.cfm 将 HTTP GET 方法与 HTML 表单一起使用时,还将创建 URL 参数。 GET 方法指定在提交表单时将参数值追加到 URL 请求上。 URL 参数的典型应用包括根据用户的喜好对 Web 站点进行个性化设置。例如,由用户名和密码组成的 URL 参数可用于验 证用户身份,并只显示该用户已经订阅的信息。这种应用的常见示例包括一些金融 Web 站点,这些 Web 站点可根据用户 以前所选的股票代码来显示个人的股票价格。 Web 应用程序开发人员通常使用 URL 参数将值传递给应用程序内的变量。 例如,可以将搜索语句传递给 Web 应用程序中的 SQL 变量以产生搜索结果。 使用 HTML 链接创建 URL 参数 可以使用 HTML 锚记的 href 属性在 HTML 链接内创建 URL 参数。在 “ 代码 ” 视图 (“ 查看 ”>“ 代码 ”)可以直接在属性中 输入 URL 参数,或者在属性检查器的 “ 链接 ” 框中将 URL 参数追加到链接 URL 的末尾。 在下面的示例中,三个链接用三个可能值 (Add、Update 和 Delete)来创建一个单独的 URL 参数 (action)。用户单击链接时, 参数值会发送到服务器,并且会执行请求的操作。 Add  a  record Update  a  record Delete  a  record 属性检查器 (“ 窗口 ”>“ 属性 ”)可使您通过以下方式创建相同的 URL 参数:选择该链接,在 “ 链接 ” 框中将 URL 参数值追 加到链接 URL 的末尾。 创建完 URL 参数后, Dreamweaver 可以检索该值并将其用在 Web 应用程序中。在 Dreamweaver 中定义了 URL 参数之 后,可将其值插入到页面中。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   546 生成表单 更多帮助主题 第 462 页的 “ 关于 URL 参数和表单参数 ” 第 226 页的 “ 链接 ” 第 473 页的 “ 定义表单参数 ” 第 479 页的 “ 向页面添加动态内容 ” 第 434 页的 “ 访问数据库 ” 创建 Web 表单 关于 Web 表单 当访问者在 Web 浏览器中显示的 Web 表单中输入信息,然后单击提交按钮时,这些信息将被发送到服务器,服务器中的服务 器端脚本或应用程序会对这些信息进行处理。服务器向用户 (或客户端)发回所处理的信息或基于该表单内容执行某些其他操 作,以此进行响应。 可以创建将数据提交到大多数应用程序服务器的表单,包括 PHP、ASP 和 ColdFusion。如果使用 ColdFusion,您也可以在 表单中添加特定于 ColdFusion 的表单控件。 注:您还可以将表单数据直接发送给电子邮件收件人。 更多帮助主题 第 543 页的 “ 从用户处收集信息 ” 第 558 页的 “ 建立 ColdFusion 表单 ” 表单对象 在 Dreamweaver 中,表单输入类型称为表单对象。表单对象是允许用户输入数据的机制。您可以在表单中添加以下表单对 象: 文本域  接受任何类型的字母数字文本输入内容。文本可以单行或多行显示,也可以以密码域的方式显示,在这种情况下,输入 文本将被替换为星号或项目符号,以避免旁观者看到这些文本。 单行文本字段 多行文本字段 密码字段 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   547 生成表单 注:使用密码域输入的密码及其它信息在发送到服务器时并未进行加密处理。所传输的数据可能会以字母数字文本形式被截获 并被读取。因此,您始终应对要确保安全的数据进行加密。 隐藏域  存储用户输入的信息,如姓名、电子邮件地址或偏爱的查看方式,并在该用户下次访问此站点时使用这些数据。 按钮  在单击时执行操作。您可以为按钮添加自定义名称或标签,或者使用预定义的 “ 提交 ” 或 “ 重置 ” 标签。使用按钮可将表 单数据提交到服务器,或者重置表单。您还可以指定其它已在脚本中定义的处理任务。例如,可能会使用按钮根据指定的值计 算所选商品的总价。 复选框  允许在一组选项中选择多个选项。用户可以选择任意多个适用的选项。下例显示选中了三个复选框选项:冲浪、山地自 行车和漂流。 单选按钮  代表互相排斥的选择。在某单选按钮组 (由两个或多个共享同一名称的按钮组成)中选择一个按钮,就会取消选择该 组中的所有其它按钮。在下例中,漂流 是当前选中的选项。如果用户单击了冲浪,则会自动清除漂流 按钮。 列表菜单  在一个滚动列表中显示选项值,用户可以从该滚动列表中选择多个选项。 “ 列表 ” 选项在一个菜单中显示选项值,用 户只能从中选择单个选项。在下列情况下使用菜单:只有有限的空间但必须显示多个内容项,或者要控制返回给服务器的值。 菜单与文本域不同,在文本域中用户可以随心所欲键入任何信息,甚至包括无效的数据,对于菜单而言,您可以具体设置某个 菜单返回的确切值。 注:HTML 表单上的弹出菜单与图形弹出菜单不同。有关创建、编辑以及显示和隐藏图形弹出菜单的信息,请访问此部分末尾 的链接。 跳转菜单  可导航的列表或弹出菜单,使用它们可以插入一个菜单,其中的每个选项都链接到某个文档或文件。 文件域  使用户可以浏览到其计算机上的某个文件并将该文件作为表单数据上传。 图像域  使您可以在表单中插入一个图像。使用图像域可生成图形化按钮,例如 “ 提交 ” 或 “ 重置 ” 按钮。如果使用图像来执行 任务而不是提交数据,则需要将某种行为附加到表单对象。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   548 生成表单 更多帮助主题 第 297 页的 “ 应用 “ 显示弹出菜单 ” 行为 ” 创建 HTML 表单 1   打开一个页面,将插入点放在希望表单出现的位置。 2   选择 “ 插入 ”>“ 表单 ”,或选择 “ 插入 ” 面板中的 “ 表单 ” 类别,然后单击 “ 表单 ” 图标。 在 “ 设计 ” 视图中,表单以红色的虚轮廓线指示。如果看不到这个轮廓线,请选择 “ 查看 ”>“ 可视化助理 ”>“ 不可见元素 ”。 3   在属性检查器 (“ 窗口 ”>“ 属性 ”)中设置 HTML 表单的属性。 a   在 “ 文档 ” 窗口中,单击表单轮廓以将其选定。 b   在 “ 表单名称 ” 框中,键入标识该表单的唯一名称。 命名表单后,就可以使用脚本语言 (如 JavaScript 或 VBScript)引用或控制该表单。如果不命名表单, Dreamweaver 将使 用语法 formn 生成一个名称,并为添加到页面中的每个表单递增 n 的值。 c 在 “ 操作 ” 框中,键入路径或者单击文件夹图标导航到相应的页面或脚本,以指定将处理表单数据的页面或脚本。示例 : processorder.php。 d   在 “ 方法 ” 弹出菜单中,指定将表单数据传输到服务器的方法。设置以下任一选项: 默认值  使用浏览器的默认设置将表单数据发送到服务器。通常,默认值为 GET 方法。 GET  将值附加到请求该页面的 URL 中。 POST  在 HTTP 请求中嵌入表单数据。 不要使用 GET 方法发送长表单。 URL 的长度限制在 8192 个字符以内。如果发送的数据量太大,数据将被截断,从而会导致 意外的或失败的处理结果。 对于由 GET 方法传递的参数所生成的动态页,可以添加书签,这是因为重新生成页面所需的全部值都包含在浏览器地址框中显 示的 URL 中。与此相反,对于由 POST 方法传递的参数所生成的动态页,不可添加书签。 如果要收集机密用户名和密码、信用卡号或其它机密信息, POST 方法可能比 GET 方法更安全。但是,由 POST 方法发送的信 息是未经加密的,容易被黑客获取。若要确保安全性,请通过安全的连接与安全的服务器相连。 e  (可选)在 “MIME 类型 ” 弹出菜单中,指定对提交给服务器进行处理的数据使用 MIME 编码类型。 默认设置 application/x-www-form-urlencode  的通常与 POST  方法一起使用。如果要创建文件上传域,请指定 multipart/form-data MIME 类型。 f   (可选)在 “ 目标 ” 弹出菜单中,指定一个窗口来显示被调用程序返回的数据。 如果命名的窗口尚未打开,则打开一个具有该名称的新窗口。设置以下任一目标值: _blank  在未命名的新窗口中打开目标文档。 _parent  在显示当前文档的窗口的父窗口中打开目标文档。 _self  在提交表单时所在的同一窗口中打开目标文档。 _top  在当前窗口的窗体内打开目标文档。此值可用于确保目标文档占用整个窗口,即使原始文档显示在框架中时也是如此。 4   在页面中插入表单对象: a   将插入点置于表单中显示该表单对象的位置。 b   在 “ 插入 ”>“ 表单 ” 菜单中或者在 “ 插入 ” 面板的 “ 表单 ” 类别中选择该对象。 c 填写 “ 输入标签辅助功能属性 ” 对话框。有关详细信息,请单击对话框中的 “ 帮助 ” 按钮。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   549 生成表单 注:如果看不到 “ 输入标签辅助功能属性 ” 对话框,当尝试插入表单对象时, “ 代码 ” 视图中可能显示了插入点。确保插入点位 于 “ 设计 ” 视图中并重试。有关此主题的详细信息,请参阅 David Powers 的文章 Creating HTML forms in Dreamweaver (在 Dreamweaver 中创建 HTML 表单)。 d   设置对象的属性。 e   在属性检查器中为该对象输入名称。 每个文本域、隐藏域、复选框和列表 / 菜单对象必须具有可在表单中标识其自身的唯一名称。表单对象名称不能包含空格或特 殊字符。可以使用字母数字字符和下划线 (_) 的任意组合。为文本域指定的标签是用于存储该域值 (输入的数据)的变量名。 这是发送给服务器进行处理的值。 注:同一组中的所有单选按钮都必须具有相同的名称。 f   若要为页面中的文本域、复选框或单选按钮对象添加标签,请在相应对象旁边单击,然后键入标签文字。 5   调整表单的布局。 可以使用换行符、段落标记、预格式化的文本或表格来设置表单的格式。不能将一个表单插入另一个表单中 (即标签不能交 迭),但是可以在一个页面中包含多个表单。 设计表单时,请记住要用描述性文本来标记表单域,以使用户知道他们要回答哪些内容。例如, “ 键入您的名字 ” 表示请求输 入名字信息。 可以使用表格为表单对象和域标签提供结构。在表单中使用表格时,请确保所有 table 标签都位于两个 form 标签之间。 有关创建表单的教程,请访问 www.adobe.com/go/vid0160_cn。 有关使用 CSS 设置表单样式的教程,请访问 www.adobe.com/go/vid0161_cn。 更多帮助主题 第 543 页的 “ 从用户处收集信息 ” 第 473 页的 “ 定义表单参数 ” 第 472 页的 “ 定义 URL 参数 ” 第 558 页的 “ 建立 ColdFusion 表单 ” 第 351 页的 “ 以可视方式生成 Spry 页 ” 创建表单教程 设置表单样式教程 文本域对象属性 选择文本域对象,在属性检查器中设置以下任一选项: 字符宽度  指定域中最多可显示的字符数。此数字可以小于 “ 最多字符数 ”, “ 最多字符数 ” 指定在域中最多可输入的字符数。 例如,如果 “ 字符宽度 ” 设置为 20 (默认值),而用户输入了 100 个字符,则在该文本域中只能看到其中的 20 个字符。虽然 在该域中无法看到这些字符,但域对象可以识别它们,而且它们会被发送到服务器进行处理。 最多字符数  指定用户在单行文本域中最多可输入的字符数。可以使用 “ 最多字符数 ” 将邮政编码的输入限制为 5 位数字,将密 码限制为 10 个字符,等等。如果将 “ 最多字符数 ” 框保留为空白,则用户可以输入任意数量的文本。如果文本超过域的字符宽 度,文本将滚动显示。如果用户的输入超过了最多字符数,则表单会发出警告声。 行数 (在选中了 “ 多行 ” 选项时可用)设置多行文本域的域高度。 已禁用  禁用文本区域。 只读  使文本区域成为只读文本区域。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   550 生成表单 类型  指定域为单行、多行还是密码域。 · 单行  生成一个 input 标签且其 type 属性设置为 text。 “ 字符宽度 ” 设置映射为 size 属性, “ 最多字符数 ” 设置映射为 maxlength 属性。 · 多行   生成一个 textarea 标签。 “ 字符宽度 ” 设置映射为 cols 属性, “ 行数 ” 设置映射为 rows 属性。 · 密码   生成一个 input 标签且其 type 属性设置为 password。 “ 字符宽度 ” 和 “ 最多字符数 ” 设置映射到与单行文本域情况下 相同的那些属性。当用户在密码文本域中键入时,输入内容显示为项目符号或星号,以保护它不被其他人看到。 初始值  指定在首次加载表单时域中显示的值。例如,可以通过在域中包含说明或示例值的形式,指示用户在域中输入信息。 类  使您可以将 CSS 规则应用于对象。 按钮对象选项 按钮名称  为该按钮指定一个名称。 “ 提交 ” 和 “ 重置 ” 是两个保留名称, “ 提交 ” 通知表单将表单数据提交给处理应用程序或 脚本,而 “ 重置 ” 则将所有表单域重置为其原始值。 值  确定按钮上显示的文本。 动作  确定单击该按钮时发生的动作。 · 提交表单  在用户单击该按钮时提交表单数据以进行处理。该数据将被提交到在表单的 “ 动作 ” 属性中指定的页面或脚本。 · 重置表单   在单击该按钮时清除表单内容。 · 无   指定单击该按钮时要执行的动作。例如,您可以添加一个 JavaScript 脚本,使得当用户单击该按钮时打开另一个页面。 类  将 CSS 规则应用于对象。 复选框对象选项 选定值  设置在该复选框被选中时发送给服务器的值。例如,在一项调查中,可以将值 4 设置为表示非常同意,将值 1 设置为表 示强烈反对。 初始状态  确定在浏览器中加载表单时,该复选框是否处于选中状态。 动态  使服务器可以动态确定复选框的初始状态。例如,您可以使用复选框直观显示存储在数据库记录中的 “Yes/No” 信息。在 设计时,您并不知道该信息。在运行时,服务器将读取数据库记录,如果值为 “Yes”,则选中该复选框。 类  对对象应用层叠样式表 (CSS) 规则。 单个单选按钮对象选项 选定值  设置在该单选按钮被选中时发送给服务器的值。例如,可以在 “ 选定值 ” 文本框中键入滑雪,指示用户选择滑雪。 初始状态  确定在浏览器中加载表单时,该单选按钮是否处于选中状态。 动态  使服务器可以动态确定单选按钮的初始状态。例如,您可以使用单选按钮直观表示存储在数据库记录中的信息。在设计 时,您并不知道该信息。在运行时,服务器将读取数据库记录,如果该值与指定的值匹配,则选中该单选按钮。 类  将 CSS 规则应用于对象。 菜单选项 列表 / 菜单  为该菜单指定一个名称。该名称必须是唯一的。 类型  指定该菜单是单击时下拉的菜单 (“ 菜单 ” 选项),还是显示一个列有项目的可滚动列表 (“ 列表 ” 选项)。如果您希望 表单在浏览器中显示时仅有一个选项可见,则选择 “ 菜单 ” 选项。若要显示其它选项,用户必须单击向下箭头。 选择 “ 列表 ” 选项可以在浏览器显示表单时列出一些或所有选项,以便用户可以选择多个项。 高度 (仅 “ 列表 ” 类型)设置菜单中显示的项数。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   551 生成表单 选定范围 (仅 “ 列表 ” 类型)指定用户是否可以从列表中选择多个项。 列表值  打开一个对话框,可通过它向表单菜单添加项: 1   使用加号 (+) 和减号 (–) 按钮添加和删除列表中的项。 2   输入每个菜单项的标签文本和可选值。 列表中的每项都有一个标签 (在列表中显示的文本)和一个值 (选中该项时,发送给处理应用程序的值)。如果没有指定 值,则改为将标签文字发送给处理应用程序。 3   使用向上和向下箭头按钮重新排列列表中的项。 菜单项在菜单中出现的顺序与在 “ 列表值 ” 对话框中出现的顺序相同。在浏览器中加载页面时,列表中的第一个项是选中的 项。 动态  使服务器可以在该菜单第一次显示时动态选择其中的一个菜单项。 类  使您可以将 CSS 规则应用于对象。 初始化时选定  设置列表中默认选定的菜单项。单击列表中的一个或多个菜单项。 插入文件上传域 您可以创建文件上传域,文件上传域使用户可以选择其计算机上的文件 (如字处理文档或图形文件),并将该文件上传到服务 器。文件域的外观与其它文本域类似,只不过,文件域还包含一个 “ 浏览 ” 按钮。用户可以手动输入要上传的文件的路径,也 可以使用 “ 浏览 ” 按钮定位并选择该文件。 必须要有服务器端脚本或能够处理文件提交操作的页面,才可以使用文件上传域。请查阅与您用来处理表单数据的服务器技术 相关的文档。例如,如果使用 PHP,请参阅在线 《PHP Manual》(PHP 手册)中的 “Handling files uploads” (处理文件 上载)章节,网址为:http://us2.php.net/features.file-upload.php。 文件域要求使用 POST 方法将文件从浏览器传输到服务器。该文件被发送到表单的 “ 动作 ” 框中所指定的地址。 注:在使用文件域之前,请与服务器管理员联系,确认允许使用匿名文件上传。 1   在页面中插入表单 (“ 插入 ”>“ 表单 ”)。 2   选择表单以显示其属性检查器。 3   将表单 “ 方法 ” 设置为 POST。 4   从 “MIME 类型 ” 弹出菜单中选择 multipart/form-data。 5   在 “ 动作 ” 框中,请指定服务器端脚本或能够处理上传文件的页面。 6   将插入点放置在表单轮廓内,然后选择 “ 插入 ”>“ 表单 ”>“ 文件域 ”。 7   在属性检查器中设置以下任一选项: 文件域名称  指定该文件域对象的名称。 字符宽度  指定域中最多可显示的字符数。 最多字符数  指定域中最多可容纳的字符数。如果用户通过浏览来定位文件,则文件名和路径可超过指定的 “ 最多字符数 ” 的 值。但是,如果用户尝试键入文件名和路径,则文件域最多仅允许键入 “ 最多字符数 ” 值所指定的字符数。 插入图像按钮 可以使用图像作为按钮图标。如果使用图像来执行任务而不是提交数据,则需要将某种行为附加到表单对象。 1   在文档中,将插入点放在表单轮廓内。 2   选择 “ 插入 ”>“ 表单 ”>“ 图像域 ”。 出现 “ 选择图像源文件 ” 对话框。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   552 生成表单 3   在 “ 选择图像源文件 ” 对话框中为该按钮选择图像,然后单击 “ 确定 ”。 4   在属性检查器中设置以下任一选项: 图像区域  为该按钮指定一个名称。 “ 提交 ” 和 “ 重置 ” 是两个保留名称, “ 提交 ” 通知表单将表单数据提交给处理应用程序或 脚本,而 “ 重置 ” 则将所有表单域重置为其原始值。 源文件  指定要为该按钮使用的图像。 替换  用于输入描述性文本,一旦图像在浏览器中加载失败,将显示这些文本。 对齐  设置对象的对齐属性。 编辑图像  启动默认的图像编辑器,并打开该图像文件以进行编辑。 类  使您可以将 CSS 规则应用于对象。 5   若要将某个 JavaScript 行为附加到该按钮,选择该图像,然后在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中选择行为。 隐藏域对象选项 隐藏域  指定该域的名称。 值  为域指定一个值。该值将在提交表单时传递给服务器。 插入一组单选按钮 1   将插入点放在表单轮廓内。 2   选择 “ 插入 ”>“ 表单 ”>“ 单选按钮组 ”。 3   完成对话框设置,然后单击 “ 确定 ”。 a   在 “ 名称 ” 框中,输入单选按钮组的名称。 如果设置这些单选按钮将参数传递回服务器,则这些参数将与该名称相关联。例如,如果将组命名为 myGroup,将表单方法设 置为 GET  (即,希望当用户单击提交按钮时表单传递 URL 参数而不是表单参数),则会在 URL 中将表达式 myGroup="CheckedValue" 传递给服务器。 b   单击加号 (+) 按钮向该组添加一个单选按钮。为新按钮输入标签和选定值。 c 单击向上或向下箭头重新排序这些按钮。 d   若要设置当在浏览器中打开页面时,某个特定单选按钮处于选中状态,请在 “ 选取值等于 ” 框中输入一个等于该单选按钮值的 值。 可以输入静态值,或者通过单击该框旁边的闪电图标,然后选择包含可能选定值的记录集以指定动态值。无论是哪一种指定方 式,所指定的值都应与组中某个单选按钮的选定值相匹配。若要查看单选按钮的选定值,请选择每个单选按钮,然后打开其属 性检查器 (“ 窗口 ”>“ 属性 ”)。 e   选择 Dreamweaver 对这些按钮进行布局时要使用的格式。 可以使用换行符或表格来设置这些按钮的布局。如果选择表格选项,则 Dreamweaver 创建一个单列表,并将这些单选按钮放 在左侧,将标签放在右侧。 还可以使用属性检查器或直接在 “ 代码 ” 视图中设置属性。 插入一组复选框 1   将插入点放在表单轮廓内。 2   选择 “ 插入 ”>“ 表单 ”>“ 复选框组 ”。 3   完成对话框设置,然后单击 “ 确定 ”。 a   在 “ 名称 ” 框中,输入复选框组的名称。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   553 生成表单 如果设置这些复选框以将参数传递回服务器,这些参数将与该名称相关联。例如,如果将组命名为 myGroup,并将表单方法设 置为 GET (即,希望当用户单击提交按钮时表单传递 URL 参数而不是表单参数),则会在 URL 中将表达式 myGroup="CheckedValue" 传递给服务器。 b   单击加号 (+) 按钮向该组添加一个复选框。为新复选框输入标签和选定值。 c 单击向上或向下箭头对这些复选框重新进行排序。 d   若要将某个特定复选框设置为在浏览器中打开页面时处于选中状态,请在 “ 选取值等于 ” 框中输入一个等于该复选框值的值。 可以输入静态值,或者通过单击该框旁边的闪电图标,然后选择包含可能选定值的记录集以指定动态值。无论是哪一种指定方 式,所指定的值都应与组中某个复选框的选定值相匹配。若要查看复选框的选定值,请选择每个复选框,然后打开其属性检查 器 (“ 窗口 ”>“ 属性 ”)。 e   选择 Dreamweaver 对这些复选框进行布局时要使用的格式。 可以使用换行符或表格来设置这些复选框的布局。如果选择表格选项,则 Dreamweaver 创建一个单列表,并将这些复选框放 在左侧,将标签放在右侧。 还可以使用属性检查器或直接在 “ 代码 ” 视图中设置属性。 关于动态表单对象 作为一种表单对象,动态表单对象的初始状态由服务器在页面被从服务器中请求时确定,而不是由表单设计者在设计时确定。 例如,当用户请求的 PHP 页上包含带有菜单的表单时,该页中的 PHP 脚本会自动使用存储在数据库中的值填充该菜单。然 后,服务器将完成后的页面发送到用户的浏览器中。 使表单对象成为动态对象可以简化站点的维护工作。例如,许多站点使用菜单为用户提供一组选项。如果该菜单是动态的,您 可以在一个位置 (即存储菜单项的数据库表)集中添加、删除或更改菜单项,从而更新该站点上同一菜单的所有实例。 更多帮助主题 第 466 页的 “ 定义动态内容源 ” 插入或更改动态 HTML 表单菜单 您可以用数据库中的项动态地填充 HTML 表单菜单或列表菜单。对于大多数页面,您可使用 HTML 菜单对象。 在开始之前,您必须在 ColdFusion、 PHP 或 ASP 页中插入一个 HTML 表单,而且必须为该菜单定义记录集或其它动态内 容源。 1   在页面中插入 HTML 列表 / 菜单表单对象: a   在页面上的 HTML 表单 (“ 插入 ”>“ 表单 ”>“ 表单 ”)中单击。 b   选择 “ 插入 ”>“ 表单 ”>“ 列表 / 菜单 ” 以插入表单对象。 2   请执行下列操作之一: · 选择新的或现有 HTML 列表 / 菜单表单对象,然后单击属性检查器中的 “ 动态 ” 按钮。 · 选择 “ 插入 ”>“ 数据对象 ”>“ 动态数据 ”>“ 动态选择列表 ”。 3   完成 “ 动态列表 / 菜单 ” 对话框,然后单击 “ 确定 ”。 a   在 “ 来自记录集的选项 ” 弹出菜单中,选择要用作内容源的记录集。您还可以在后续操作中,使用此菜单来编辑静态和动态列 表 / 菜单项。 b   在 “ 静态选项 ” 区域中,输入列表或菜单中的默认项。还可以使用此选项在添加动态内容后编辑列表 / 菜单表单对象中的静态 项。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   554 生成表单 c   (可选)使用加号 (+) 和减号 (–) 按钮添加和删除列表中的项。项的顺序与 “ 初始列表值 ” 对话框中的顺序相同。在浏览器中 加载页面时,列表中的第一个项是选中的项。使用向上和向下箭头按钮重新排列列表中的项。 d   在 “ 值 ” 弹出菜单中,选择包含菜单项值的域。 e   在 “ 标签 ” 弹出菜单中,选择包含菜单项标签文字的域。 f   (可选)若要指定在浏览器中打开页面或者在表单中显示记录时,某个特定菜单项处于选中状态,请在 “ 选取值等于 ” 框中输 入一个等于该菜单项的值的值。 可以输入静态值,也可以通过单击该框旁边的闪电图标,然后从数据源列表中选择动态值来指定动态值。无论是哪一种指定方 式,所指定的值都应该与某个菜单项值匹配。 使现有 HTML 表单菜单成为动态对象 1   在 “ 设计 ” 视图中选择列表 / 菜单表单对象。 2   在属性检查器中,单击 “ 动态 ” 按钮。 3   完成对话框设置,然后单击 “ 确定 ”。 在 HTML 文本域中显示动态内容 在通过浏览器查看表单时,您可以在 HTML 文本域中显示动态内容。 在开始之前,您必须在 ColdFusion、 PHP 或 ASP 页中创建表单,而且必须为该文本域定义记录集或其它动态内容源。 1   选择页面上 HTML 表单中的文本域。 2   在属性检查器中,单击 “ 初始值 ” 框旁边的闪电图标,以显示 “ 动态数据 ” 对话框。 3   选择为文本域提供值的记录集列,然后单击 “ 确定 ”。 设置动态文本域对话框的选项 1   从 “ 文本域 ” 弹出菜单中选择要设置为动态对象的文本域。 2   单击 “ 将值设置为 ” 框旁边的闪电图标,从数据源列表中选择一个数据源,然后单击 “ 确定 ”。 数据源应包含文本信息。如果列表中没有出现任何数据源,或者可用的数据源不能满足您的需要,请单击加号 (+) 按钮以定义 新的数据源。 更多帮助主题 第 466 页的 “ 定义动态内容源 ” 动态预先选择 HTML 复选框 您可以让服务器决定当表单在浏览器中显示时是否选中一个复选框。 在开始之前,您必须在 ColdFusion、 PHP 或 ASP 页中创建表单,而且必须为复选框定义记录集或其它动态内容源。理想情 况下,该内容源应包含布尔数据,如 Yes/No 或 true/false。 1   在页面上选择一个复选框表单对象。 2   在属性检查器中,单击 “ 动态 ” 按钮。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   555 生成表单 3   完成 “ 动态复选框 ” 对话框,然后单击 “ 确定 ”。 · 单击 “ 选择,如果:” 框旁边的闪电图标,然后从数据源列表中选择该域。 数据源必须包含布尔数据,如 Yes 和 No,或 true 和 false。如果列表中没有出现任何数据源,或者可用的数据源不能满足您的 需要,请单击加号 (+) 按钮以定义新的数据源。 · 在 “ 等于 ” 框中,输入要使复选框显示为选中状态该域必须具有的值。 例如,如果希望记录中的特定域的值为 Yes 时,该复选框显示为选中状态,请在 “ 等于 ” 框中输入 Yes。 注:在用户单击表单的 “ 提交 ” 按钮时,这个值也会返回给服务器。 动态预先选择 HTML 单选按钮 当浏览器中的 HTML 表单中显示记录时,动态预先选中某个 HTML 单选按钮。 在开始之前,必须在 ColdFusion、 PHP 或 ASP 页中创建表单,并且插入至少一组 HTML 单选按钮 (“ 插入 ”>“ 表单 ”>“ 单选按钮组 ”)。而且必须为单选按钮定义记录集或其它动态内容源。理想情况下,该内容源应包含布尔数据,如 Yes/No 或 true/false。 1   在 “ 设计 ” 视图中,在单选按钮组中选择一个单选按钮。 2   在属性检查器中,单击 “ 动态 ” 按钮。 3   完成 “ 动态单选按钮组 ” 对话框,然后单击 “ 确定 ”。 设置动态单选按钮组对话框的选项 1   在 “ 单选按钮组 ” 弹出菜单中,选择页面中的表单和单选按钮组。 “ 单选按钮值 ” 框将显示该组内所有单选按钮的值。 2   从值列表中选择要动态预先选中的值。该值显示在 “ 值 ” 框中。 3   单击 “ 选取值等于 ” 框旁边的闪电图标,然后选择包含该组中单选按钮的可能选定值的记录集。 所选的记录集包含与单选按钮的选定值匹配的值。若要查看单选按钮的选定值,请选择每个单选按钮,然后打开其属性检查器 (“ 窗口 ”>“ 属性 ”)。 4   单击 “ 确定 ”。 设置动态单选按钮组对话框的选项 (ColdFusion) 1   从 “ 单选按钮组 ” 弹出菜单中选择单选按钮组和表单。 2   单击 “ 选取值等于 ” 框旁边的闪电图标。 3   完成 “ 动态数据 ” 对话框,然后单击 “ 确定 ”。 a   从数据源列表中选择一种数据源。 b  (可选)为该文本选择一种数据格式。 c   (可选)修改 Dreamweaver 插入到页面中以显示动态文本的代码。 4   单击 “ 确定 ” 关闭 “ 动态单选按钮组 ” 对话框,并在 “ 单选按钮组 ” 中插入动态内容占位符。 验证 HTML 表单数据 Dreamweaver 可添加用于检查指定文本域中内容的 JavaScript 代码,以确保用户输入了正确的数据类型。 您可以使用 Spry 表单构件构建自己的表单,并验证指定表单元素的内容。有关详细信息,请参考下面列出的 Spry 主题。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   556 生成表单 您还可以在 Dreamweaver 中建立用于验证指定域内容的 ColdFusion 表单。有关详细信息,请参考下面列出的 ColdFusion 章节。 1   创建一个包含至少一个文本域及一个 “ 提交 ” 按钮的 HTML 表单。 确保要验证的每个文本域具有唯一名称。 2   选择 “ 提交 ” 按钮。 3   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,然后从列表中选择 “ 验证表单 ” 行为。 4   设置每个文本域的验证规则,然后单击 “ 确定 ”。 例如,您可以指定用于输入人员年龄的文本域仅接受数字。 注:“ 验证表单 ” 行为仅在文档中已插入了文本域的情况下可用。 更多帮助主题 第 369 页的 “ 使用验证文本域构件 ” 第 373 页的 “ 使用验证文本区域构件 ” 第 376 页的 “ 使用验证选择构件 ” 第 379 页的 “ 使用验证复选框构件 ” 第 568 页的 “ 验证 ColdFusion 表单数据 ” 将 JavaScript 行为附加到 HTML 表单对象 您可以将 Dreamweaver 中存储的 JavaScript 行为附加到按钮等 HTML 表单对象。 1   选择该 HTML 表单对象。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,然后从列表中选择一个行为。 将自定义脚本附加到 HTML 表单按钮 有些表单使用 JavaScript 或 VBScript 在客户端执行表单处理或其它操作,这与将表单数据发送到服务器进行处理相反。您可 以使用 Dreamweaver 配置表单按钮,以便当用户单击按钮时运行特定的客户端脚本。 1   选择表单中的 “ 提交 ” 按钮。 2   在 “ 行为 ” 面板 (“ 窗口 ”>“ 行为 ”)中,单击加号 (+) 按钮,然后从列表中选择 “ 调用 JavaScript”。 3   在 “ 调用 JavaScript” 框中,输入当用户单击该按钮时所运行的 JavaScript 函数的名称,然后单击 “ 确定 ”。 例如,您可以输入一个尚不存在的函数名,如 processMyForm()。 4   如果文档的 head 部分中不存在 JavaScript 函数,则添加该函数。 例如,可以在文档的 head 部分定义以下 JavaScript 函数,以便在用户单击 “ 提交 ” 按钮时显示一条消息: function  processMyForm(){ alert('Thanks  for  your  order!'); } 更多帮助主题 第 290 页的 “ 应用调用 JavaScript 行为 ” 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   557 生成表单 创建具有辅助功能的 HTML 表单 在插入 HTML 表单对象时,可以使表单对象具有辅助功能,并可以在以后更改辅助功能属性。 添加具有辅助功能的表单对象 1   在第一次添加具有辅助功能的表单对象时,请激活表单对象的 “ 辅助功能 ” 对话框(请参阅第 457 页的 “ 为可视化开发优化工 作区 ”)。 此步骤仅会出现一次。 2   在文档中,将插入点放在希望表单对象出现的位置。 3   选择 “ 插入 ”>“ 表单 ”,然后选择要插入的表单对象。 将出现 “ 输入标签辅助功能属性 ” 对话框。 4   完成对话框设置,然后单击 “ 确定 ”。下面列出部分选项: 注:屏幕阅读器会朗读作为对象的 “ 标签 ” 属性而输入的名称。 ID  为表单域指定 ID。这个值可用于从 JavaScript 中引用域;如果您选择了样式选项下的 “ 使用 for 附加 Label 标记 ” 选项, 这个值还可以作为 for 属性的值。 用 Label 标记环绕  会在表单项的两边添加 Label 标记,如下所示: 使用 for 附加 Label 标记  使用 for 属性在表单项两侧添加 Label 标记,如下所示: RadioButton2 此选项会使浏览器用焦点矩形呈现与复选框和单选按钮关联的文本,并使用户能够通过在关联文本中的任意位置 (而不仅是在 复选框或单选按钮控件上)单击来选择相应复选框和单选按钮。 注:这是辅助功能的首选选项,但是浏览器不同,该功能也可能会有所不同。 无 Label 标记  不使用 Label 标记,如下所示: RadioButton3 访问键  使用等效的键盘键 (一个字母)加上 Alt (Windows) 或 Control (Macintosh) 在浏览器中选择表单对象。例如,如 果输入 B 作为访问键,则使用 Macintosh 浏览器的用户可以键入 Control+B 以选择表单对象。 Tab 键索引  为表单对象指定 Tab 顺序。如果为一个对象设置 Tab 顺序,则必须为所有对象设置 Tab 顺序。 当您的页面上有其它链接和表单对象,并且需要用户用 Tab 以特定顺序访问这些对象时,设置 Tab 顺序就会非常有用。 5   单击 “ 是 ” 插入 form 标签。 该表单对象出现在文档中。 注:如果您按 “ 取消 ”,则表单对象将出现在文档中,但 Dreamweaver 不会将它与辅助功能标签或属性相关联。 编辑表单对象的辅助功能值 1   在 “ 文档 ” 窗口中,选择该对象。 2   请执行下列操作之一: · 在 “ 代码 ” 视图中编辑适当的属性。 · 右键单击 (Windows) 或按住 Control 单击 (Macintosh),然后选择 “ 编辑标签 ”。 草稿 上次更新 2010/3/21 使用 DREAMWEAVER CS5   558 生成表单 建立 ColdFusion 表单 关于 ColdFusi
      /
      本文档为【Dreamweaver_CS5_网页制作_免费官方教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
      [版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

      历史搜索

        清空历史搜索