管理与程序设计指南


Net.Data 宏的剖析

宏由两部分组成:

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

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

%{ **********************       DEFINE block        ************************%}
%DEFINE {
   page_title="Net.Data Macro Template"
%}
 
%{ ********************** FUNCTION Definition block ************************%}
%FUNCTION(DTW_REXX) rexx1 (IN input) returns(result)
{
  %EXEC{ompsamp.cmd %}
%}
 
%FUNCTION(DTW_REXX) today () RETURNS(result)
{
      result = date()
%}
 
%{ **********************      HTML Block: Input    ************************%}
%HTML (INPUT) {
<html>
<head>
<title>$(page_title)</title>
</head><body>
<h1>Input Form</h1>
Today is @today()
 
<form method="post" action="output">
Type some data to pass to a REXX program:
<
input name="input_data" type="text" size="30" />
<p>
<input type="submit" value="enter" />
</p>
</form>
 
< hr>
<p>[<a href="/">Home page</a>]
</body></html>
%}
 
%{ **********************    HTML Block: Output     ************************%}
%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 服务器是通过 Net.Data 使用 CGI、 Web 服务器 API 或 Java 小服务程序 来访问它的。要调用宏,Net.Data 需要两个参数:要处理的宏的名称和该宏中要显示的 HTML 块。

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


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