IBM Books

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


Net.Data 宏文件的剖析

宏文件由两部分组成:

在本小节中,用一个 Net.Data 宏说明了宏语言的元素。此例子宏表达了一种格式,该格式提示 要向 REXX 程序传送的信息。宏将此信息传送至称为 OMPSAMP.CMD 的外部 REXX 程序 ,该程序回送用户输入的数据。然后在第二个 HTML 页面上显示结果。

首先看整个宏,然后详细看每块:

%{ **********************         DEFINE 块         ************************%}
%DEFINE{
   page_title="Net.Data macro Template"
%}
 
%{ **********************      FUNCTION 定义块      ************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result)
    { %EXEC{ompsamp.cmd %}
%}
 
%FUNCTION(DTW_REXX) today () RETURNS(result)
  {
      result = date()
%}
 
%{ **********************    HTML 块:输入      ************************%}
%HTML(INPUT) {
  <html>
 <head>
<title>$(page_title)</title>
</head><body>
<h1>Input Form</h1>
Today is @today()
 
<FORM  METHOD="post" ACTION="output">
输入一些数据传送给一个 REXX 程序:
<INPUT NAME="input_data" TYPE="text" SIZE="30">
<p>
<INPUT TYPE="submit" VALUE="Enter">
 
</form>
 
< hr>
<p>[<a href="/">Home page</a>]
</body></html>
%}
 
%{ **********************    HTML 块:输出      ************************%}
%HTML(OUTPUT) {
  <html>
 <head>
<title>$(page_title)</title>
</head><body>
<h1>Output Page</h1>
<p>@rexx1(input_data)
<p><hr>
<p>[<a href="/">Home page</a> |
<a href="input">Previous page</a>]
</body></html>
%}
 

示例宏包含四个主要块:DEFINE、FUNCTION 和两个 HTML 块。在一个 Net.Data 宏中可以有多 个 DEFINE、FUNCTION 和 HTML 块。

两个 HTML 块包含了人们熟悉的 HTML 标记,这使 Web 宏更容易书写。如果您熟悉 HTML,就知 道构建一个宏只涉及添加要在服务器上动态处理的宏语句和要发送到数据库的 SQL 语句。

虽然宏看起来类似于 HTML 文档,但是 Web 服务器是通过 Web 服务器 API 或使用 CGI 的 Net.Data 来访问它的。Net.Data 需要两个参数:要处理的宏的名称和该宏中要显示的 HTML 块。

调用了宏文件之后,Net.Data 从头开始处理它。 以下各章节着眼于当 Net.Data 处理文件时所发生的事情。


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