IBM Books

Net.Data 管理与程序设计指南,OS/2、Windows NT 以及 UNIX 版

HTML 块

HTML 块定义 Web 页面的布局、引用变量,并使用 HTML 块作为宏的入口和出口点 来调用函数。 HTML 总是在 Net.Data 调用请求中指定的,并且每个宏必须至少有一个 HTML 块。

例子宏文件中的第一个 HTML 块称为 INPUT。INPUT 块包含具有一个输入 字段的简单表格。

%{ **********************    HTML 块:输入      ************************%}
%HTML (INPUT) {               <--- 标识该 HTML 块的名称。
  <html>
 <head>
<title>$(page_title)</title>  <--- 加注变量替换。
</head><body>
<h1>Input Form</h1>
Today is @today()             <--- 该行包含对一个函数的调用。
 
<FORM METHOD="post" ACTION="output">  <--- 该表格提交时,
                                           将调用 "output" HTML 块。
输入一些数据传送给一个 REXX 程序:
<INPUT NAME="input_data"      <--- 在表格被提交时 "input_data" 被定义,
TYPE="text" SIZE="30">             并且可以在该宏中的任何地方引用它。
                                   它已被初始化为输入字段中的某种用户类型。
<p>
<INPUT TYPE="submit" VALUE="Enter">
 
< hr>
<p>
[
<a href="/">Home page</a>]
 </body><html>
%}                            <--- 关闭 HTML 块。

整个块由 HTML 块标识符 %HTML (INPUT) {...%}括起。INPUT 标 识了该块的名称。 您可为它取任何名称。HTML <title> 标记包含了变量替换的例子。变量 page_title 的值替换了表格的标题。

此块还具有一个函数调用。表达式 @today() 是对函数 today 的调用 。该函数是在随后描述的 FUNCTION 块中定义的。Net.Data 将 today 函数的结果(即当前日期)插入 HTML 文本中与 @today() 表达式相同的 位置。

FORM 语句的 ACTION 参数提供了一个在 HTML 块之间或在宏之间游历的例子。表格提交 时,ACTION 参数中对另一块名称的引用将访问此块。HTML 表中的任何输入数据都作为隐式变量 传送给块。 该表上定义的单个输入字段,就是这样的。当表格提交时,该字段中输入的数据在变量 input_data 中传送给 HTML 输出块。

如果另一个宏文件在相同的 Web 服务器上,您就可以用交叉引用来访问该宏文件中的 HTML 块 。例如,ACTION 参数 ACTION="../othermacro.d2w/main" 访问宏文件 othermacro.d2w 中 HTML 块调 用的主程序。表格中的任何数据类型再次在 input_data 中传送给该宏。

在调用 Net.Data 时,您将变量作为 URL 的一部分传送。例如:

<a href="/cgi-bin/db2www/othermacro.d2w/main?input_data=value">Next macro</a>

不需要定义环境变量来接收输入数据,因为您具有大多数 CGI 程序。Net.Data 将为您处理 环境变量。您只需要引用变量名。

例子中的下一个 HTML 块是 OUTPUT 块。 它包含 HTML 标记和 Net.Data 宏语句,这些宏语句定义 INPUT 块请求所处理的输出。

%{ **********************    HTML 块:输出      ************************%}
%HTML(OUTPUT) {
  <html>
 <head>
<title>$(page_title)</title>  <--- 更多替换。
 
</head><body>
<h1>Output Page</h1>
<p>@rexx1(input_data)  <--- 该行包含对函数 rexx1 的调用,并传送参数 "input_data"。
<p>
< hr>
<p>
[
<a href="/">Home page</a> |
<a href="input">Previous page</a>]
%}

与 INPUT 块相似,此块也是 标准 HTML,其中使用 Net.Data 宏语句来替换变量和函数调用。 再次用 page_title 变量来替换标题语句。与上面相似,此块也包含一个函数调用。在 此情况下,它调用函数 rexx1 并将变量 input_data 的内容传送给它,该 变量接收自 Input 块中定义的表格。您可以将任何数目的变量传送给函数,或从函数中传送回任 何数目的变量。函数定义确定了传送的变量的数目和类型。


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