3 如下所示,请在实体标签列表中输入新的实体标签:
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 的解决。
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 页设计人员确定,当接到请求时,内容不发生更改。这里提供了一个示例:
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 通过在 “ 文档 ” 窗口底部的标签选择器中选择