管理与编程指南


Web 注册表语言环境

Net.Data Web 注册表为与应用程序相关的数据提供了持久性的存储器。Web 注册表可用于存储 配置信息和其它能够被基于 Web 的应用程序在运行时动态访问的数据。 您只能这样来访问 Web 注册表:从为此目的而编写的 CGI 程序出发,通过 Net.Data 宏并 使用 Net.Data 和 Web 注册表内置支持。Web 注册表在操作系统的子集上也是可用的。参见 Net.Data 参考以获取对 Web 注册表内置函数的描述、 语法以及支持该语言环境的操作系统列表。

标准 Web 页面的开发需要直接将 URL 放在该页面的 HTML 源代码中。这就使更改链接 变得困难。静态的特性还限制了那些可以方便地放入 Web 页面的链接的类型。 使用一个 Web 注册表来存储与应用程序相关的数据,例如:URL 可以帮助您创建具有动态设置链接的 HTML 页面。

应用程序开发者和对注册表具有写入权限的 Web 管理员可以将信息存储在注册表中并对其 进行维护。应用程序在运行时从与它们关联的注册表中检索信息。这就方便了灵活的应用程序的设计,并且允许应用程序和服务器的移植。您可以使用 Net.Data 宏来创建使用动态设置链接的 HTML 页面。

信息以注册表条目的形式存储在 Web 注册表中。 每个注册表条目都由一对字符串组成:一个 RegistryVariable 字符串和一个 相应的 RegistryData 字符串。任何可以由一对字符串来表示的信息都可以作为注册表的条目存储。 Net.Data 将变量字符串作为搜索键,在注册表中定位和检索特定的条目。

表 11显示了一个示例 Web 注册表:

表 11. 示例 Web 注册表
CompanyName WorldConnect
Server ftp.einet.net
JohnDoe/foreground Green
CompanyURL/IBM Corp. http://www.ibm.com
CompanyURL/Sun Microsystems Corp. http://www.sun.com
CompanyURL/Digital Equipment Corp. http://www.dec.com
JaneDoe/Home_page http://jane.info.net

使用 Web 注册表时要考虑的一些因素:

Web 注册表中的索引项的 RegistryVariable 字符串都有一个附加的索引字符串,使用以下语法:

RegistryVariable/Index

用户在一个内置函数单独的参数中提供了索引字符串的值, 这个内置函数被设计为与索引项一起作用。多个索引的注册表条目可以具有相同的 RegistryVariable 字符串值, 但它们可以通过具有不同的索引字符串值来维持它们的唯一性。

表 12. 示例索引 Web 注册表
Smith/Company_URL http://www.ibmlink.ibm.com
Smith/Home_page http://www.advantis.com

甚至上述两个索引项具有相同的 RegistryVariable 字符串值 Smith,在各种情况下 索引字符串都是不同的。 Web 注册表函数将它们作为两个不同的条目来对待。

配置 Web 注册表语言环境

验证初始化文件中是否有以下配置语句,并且是在一行上:

ENVIRONMENT (DTW_WEBREG)   DTWWEB    ( OUT RETURN_CODE )

参见环境配置语句,以进一步了解 Net.Data 初始化文件和语言环境 ENVIRONMENT 语句。

调用 Web 注册表内置函数

与调用其它函数一样调用 Web 注册表函数。使用 DEFINE 语句来定义与您想要传递的参数类似的变量。 例如:

%DEFINE{
    name = "smith"
 %}
 

然后用一个函数调用语句来调用该函数;例如:

@DTWR_ADDENTRY("URLLIST", name, "http://www.ibm.com/software/",
    "WORK_URL"

示例

以下示例将创建一个 Web 注册表并在其中添加条目。然后,它将显示一个包含这些条目的报告。

%DEFINE{
	RegTable = %TABLE(ALL)
%}
 
%MESSAGE {
    default:"<p>Function Error: Return code: $(RETURN_CODE)." :continue
%}
 
%FUNCTION(DTW_WEBREG) ListTable(INOUT RegTable) {
%}
 
%HTML (report){
@DTWR_CREATEREG("MYREG")
@DTWR_ADDENTRY("MYREG", "Dept. 1", "Payroll")
@DTWR_ADDENTRY("MYREG", "Dept. 2", "Technical Support")
@DTWR_ADDENTRY("MYREG", "Dept. 3", "Research")
@DTWR_LISTREG("MYREG", RegTable)
 
<p>Report:<br />
@ListTable(RegTable)
 
%}
 


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]