管理与程序设计指南

HTML 块

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

示例宏中的第一个 HTML 块名为 INPUTHTML(INPUT) 块包含用于具有 一个输入字段的简单表的 HTML。

%{ **********************      HTML Block: Input    ************************%}
%HTML (INPUT) {               <--- Identifies the name of this HTML block.
<html>
<head>
<title>$(page_title)</title>  <--- Note the variable substitution.
</head><body>
<h1>Input Form</h1>
Today is @today()             <--- This line contains a call to a function.
 
<form method="post" action="output">  <--- When this form is submitted,
                                           the "OUTPUT" HTML block is called.<p>
Type some data to pass to a REXX program:
<input name="input_data"      <--- "input_data" is defined when the form
TYPE="text" SIZE="30" />           is submitted and can be referenced elsewhere in
                                   this macro. It is initialized to whatever the
                                   user types into the input field.
</p>
<input type="submit" value="enter" />
 
< hr>
<p>
[
<a href="/">Home page</a>]</p>
 </body><html>
%}                            <--- Closes the HTML block.

整个块由 HTML 块标识符 %HTML (INPUT) {...%} 括起来。INPUT 标 识了该块的名称。名称可以包含任何字母数字字符、下划线字符或句点。HTML <title> 标记包含了变量替换的示例。变量 page_title 的值替换了表的标题。

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

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

如果另一个宏在相同的 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>

您可以通过引用表中指定的变量名来访问或处理宏中的表数据。

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

%{ **********************    HTML Block: Output     ************************%}
%HTML (OUTPUT) {
<html>
<head>
<title>$(page_title)</title>  <--- More substitution.
 
</head><body>
<h1>Output Page</h1>
<p>@rexx1(input_data)  <--- This line contains a call to function rexx1
                            passing the argument "input_data".
<p>
<hr>
<p>
[
<a href="/">Home page</a> |
<a href="input">Previous page</a>]
%}

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


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