Web Broker(Web服务应用程序)入门教程(4)
1. 生成响应消息的内容
Web Broker 提供了一系列对象,以协助您的动作项生成 HTTP 响应消息的内容。您可以使用这些对象生成保存在文件中或直接发送回 Web 客户端的 HTML 命令字符串。您可以编写自己的内容生成器,继承自 Web.HTTPApp.TCustomContentProducer 或其某个派生类。
TCustomContentProducer 提供了一个通用接口,用于创建任何 MIME 类型作为 HTTP 响应消息的内容。其派生类包括页面生成器和表格生成器:
页面生成器扫描 HTML 文档,寻找特殊的标签,并将它们替换为定制的 HTML 代码。它们在“使用页面生成器组件”中有描述。
表格生成器基于数据集中的信息创建 HTML 命令。它们在“在响应中使用数据库信息”中有描述。
1.1 使用页面生成器组件
页面生成器(Web.HTTPProd.TPageProducer 及其派生类)采用一个 HTML 模板,并通过替换特殊的 HTML 透明标签来转换它,生成定制的 HTML 代码。您可以存储一组标准响应模板,当您需要生成对 HTTP 请求消息的响应时,由页面生成器填充这些模板。您可以通过将页面生成器链接在一起,通过逐步细化 HTML 透明标签来迭代构建 HTML 文档。
1) HTML 模板
HTML 模板是一系列 HTML 命令和 HTML 透明标签的序列。HTML 透明标签的形式为:
<#TagName Param1=Value1 Param2=Value2 ...>
尖括号(< 和 >)定义了标签的整个范围。井号(#)紧跟在开尖括号(<)之后,与尖括号之间没有空格。井号向页面生成器标识该字符串为 HTML 透明标签。标签名称紧跟在井号之后,与井号之间没有空格。标签名称可以是任何有效的标识符,并标识标签代表的转换类型。
在标签名称之后,HTML 透明标签可以可选地包含指定要执行的转换细节的参数。每个参数的形式为 ParamName=Value,参数名称、等号(=)和值之间没有空格。参数通过空格分隔。
尖括号(< 和 >)使标签对不认识 #TagName 结构的 HTML 浏览器透明。
使用 HTML 模板时,您将:
(1)可选地,使用预定义的 HTML 透明标签名称
虽然您可以创建自己的 HTML 透明标签来表示页面生成器处理的任何类型的信息,但有几个与 TTag 数据类型值相关的预定义标签名称。这些预定义标签名称对应于可能在响应消息中变化的 HTML 命令。它们在下表中列出:
标签名称 | TTag 值 | 标签应转换为的内容 |
---|