管理及程式設計指南

HTML 區塊

HTML 區塊會定義網頁的配置、參照變數,以及呼叫函數。HTML 區塊會作為巨集的進入與跳出點。 一定會在 Net.Data 巨集要求中指定 HTML 區塊,且每一巨集至少須有一個 HTML 區塊。

範例巨集中的第一個 HTML 區塊名為 INPUTHTML(INPUT) 含有具有一個輸入欄位的簡單套表的 HTML。

%{ **********************      HTML 區塊:輸入    ************************%}
%HTML (INPUT) {               <--- 識別出此 HTML 區塊的名稱。
<html>
<head>
<title>$(page_title)</title>  <--- 請注意變數替代。
</head><body>
<h1>輸入套表</h1>
今天是 @today()             <--- 此行包含一個函數呼叫。
 
<form method="post" action="output">  <--- 提交此套表時,
                                           會呼叫 "OUTPUT" HTML 區塊。<p>
請輸入一些要傳給 REXX 程式的資料:
<input name="input_data"      <--- "input_data" 是定義於套表
TYPE="text" SIZE="30" />           被提交時,而且可被
                                   巨集的其它地方參考。它被起始設定成使
                                   用者在輸入欄位中所鍵入的任何資料。
</p>
<input type="submit" value="enter" />
 
<hr>
<p>
[
<a href="/">Home page</a>]</p>
 </body><html>
%}                            <--- 關閉此區塊。

整個區塊都用 HTML 區塊識別字 %HTML (INPUT) {...%} 圍住。 INPUT 指出此區塊的名稱。 名稱可以含有任何英數字元、底線或句點。 HTML <title> 標籤包含變數替代的範例。 變數 page_title 的值,會取代套表的標題。

此區塊中還含有一個函數呼叫。 表示式 @today() 是對函數 today 的呼叫。 此函數是定義在上面描述的 FUNCTION 區塊中。 Net.Data 將 today 函數的結果,亦即本日, 插入與 @today() 表示式同一位置 HTML 本文中。

FORM 陳述式中的 ACTION 參數,提供 HTML 區塊之間或巨集之間的導引範例。 若是參照 ACTION 參數中的另一個區塊名稱,則當提出套表時, 即會存取該區塊。 任何來自 HTML 套表的輸入資料,都會被當成隱含變數來傳給區塊。 定義在此套表中的單一輸入欄位,亦可適用。當提出套表後, 在此套表中輸入的資料將透過變數 input_data, 傳遞到 HTML(OUTPUT) 區塊。

只要巨集是位在同一 Web 伺服器上, 您便可以使用相關參照方式,來存取其它巨集中的 HTML 區塊。例如, ACTION 參數 ACTION="../othermacro.d2w/main" 可存取巨集 othermacro.d2w 中稱為 main 的 HTML 區塊。 同樣地,此套表中輸入的任何資料, 皆會透過 input_data 變數傳送到這個巨集。

當您呼叫 Net.Data 時,您是以當成 URL 的一部份來傳遞變數。例如:

<a href="/cgi-bin/db2www/othermacro.d2w/main?input_data=value">下一個巨集</a>

您可以經由參照套表中指定的變數名稱,來存取或操作套表資料。

範例中的下一個區塊為 HTML(OUTPUT) 區塊。它包含 HTML 標籤和 Net.Data 巨集陳述式, 這些陳述式定義 HTML(OUTPUT) 要求所處理的輸出。

%{ **********************    HTML 區塊:輸出     ************************%}
%HTML (OUTPUT) {
<html>
<head>
<title>$(page_title)</title>  <--- 其它替代。
 
</head><body>
<h1>輸出頁</h1>
<p>@rexx1(input_data)  <--- 此行包含呼叫函數 rexx1,
                            及傳送 "input_data" 引數給函數。
<p>
<hr>
<p>
[
<a href="/">首頁</a> |
<a href="input">前一頁</a>]
%}

類似 HTML(OUTPUT) 區塊,此區塊是一個標準的 HTML, 再加上用來替代變數的巨集陳述式以及一個函數呼叫。同樣地, page_title 變數被取代成標題陳述式。 一如前述,本區塊中含有一個函數呼叫。 在此例中,它會呼叫函數 rexx1, 並將變數 input_data 的內容傳遞給函數, 而內容是來自輸入區塊中定義的套表。 您可以和函數間互傳多個變數。 函數定義會指定要傳遞的變數之數目與用法。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]