您使用 Net.Data 函數呼叫來設定呼叫 applet 語言環境。 函數呼叫不需要宣告。函數呼叫的語法如下:
@DTWA_AppletName(parm1, parm2, ..., parmN)
欲撰寫可產生 applet 標籤的巨集檔,請:
%define{
DATABASE = "celdial" <=Net.Data 變數:資料庫名稱
MyGraph.codebase = "/netdata-java/" <=必要的 applet 參數
MyGraph.height = "200" <=必要的 applet 參數
MyGraph.width = "400" <=必要的 applet 參數
MyTitle = "This is my Title" <=Net.Data 變數:Web 網頁的名稱
MyTable = %TABLE(all) <=儲存查詢結果的表格
%}
%FUNCTION(DTW_SQL) mySQL(OUT table){
從 ibmuser.guests 選取人名,年齡
%}
例如:
%HTML(report){ <=HTML 區塊的開始
@mySQL(MyTable) <=SQL 函數呼叫
mySQL
@DTWA_MyGraph( MyTitle, DTW_COLUMN(ages) MyTable) <=Applet 函數呼叫
%}
您可以在 Net.Data 巨集中隨意指定 applet 標籤屬性。 Net.Data 會取代所有具有 AppletName.attribute 形式的變數, 變成 applet 標籤的屬性。在 applet 標籤中定義屬性的語法如下:
%define AppletName.attribute = "value"
對所有的 applet 而言這些屬性是必需的:
例如,若您的 applet 稱為 MyGraph,您可將這些必需屬性定義如下:
%DEFINE{
MyGraph.codebase = "/netdata-java/"
MyGraph.height = "200"
MyGraph.width = "400"
%}
在DEFINE 段落中不需要實際指定值。您可以使用 DTW_ASSIGN 函數來設定值。如果您未定義 AppletName.code 變數, 則 Net.Data 會為 applet 標籤新增一個預設的程式碼參數。程式碼參數的值為 AppletName.class, AppletName 是指您的 applet 的名稱。
您定義在函數呼叫中傳遞給 Java applet 語言環境的一列參數。您可以傳遞的參數包含:
當您傳遞參數時,Net.Data 會用您指定給該參數的名稱及數值, 在 HTML 輸出中建立 Java applet PARAM 標籤。 您不能傳遞字串文字或函數呼叫的結果。
您可以將 Net.Data 變數當作參數來使用。如果您在巨集的 DEFINE 區塊中定義一個變數, 並且將在 DTWA_AppletName 函數呼叫中傳遞該變數值, 則 Net.Data 會產生一個具有與該變數相同之名稱及數值的 PARAM 標籤。 例如,假設的巨集陳述式如下:
%define{
...
MyTitle = "這是我的標題"
%}
%HTML(report){
@DTWA_MyGraph( MyTitle, ...)
%}
Net.Data 產生下列 applet PARAM 標籤:
<param name = 'MyTitle' value = "這是我的標題" >
在每次呼叫 Java applet 語言環境時, Net.Data 就會自動產生一個名為 DTW_NUMBER_OF_TABLES 的 PARAM 標籤, 以指定該函數呼叫是否已傳遞任何表格變數。 該值就是 Net.Data 在函數中使用之表格變數的個數。 如果函數呼叫中沒有指定任何表格變數,就會產生下列標籤:
<param name = "DTW_NUMBER_OF_TABLES" value = "0" >
您可以傳遞一或多個 Net.Data 表格變數來當作函數呼叫上的參數。如果您在 DTWA_AppletName 函數呼叫上指定 Net.Data 表格變數, Net.Data 就會產生下列 PARAM 標籤:
這個標籤指定要傳遞的表格名稱。此標籤的語法如下:
<param name = 'DTW_TABLE_i_NAME' value = "tname" >
其中 i 是表格數目,依函數呼叫的次序而定, 而 tname 是表格名稱。
產生 PARAM 標籤, 以指定特定表格的橫列及直欄數。此標籤的語法如下:
<param name = 'DTW_tname_NUMBER_OF_ROWS' value = "rows" > <param name = 'DTW_tname_NUMBER_OF_COLUMNS' value = "cols" >
其中表格的名稱為 tname, rows 是表格中的列數, 而 cols 是表格中的直欄數。 對於函數呼叫中指定的每一個唯一的表格,都將產生這一對標籤。
這個 PARAM 標籤指定特定直欄的直欄名稱。此標籤的語法如下:
<param name = 'DTW_tname_COLUMN_NAME_j' value = "cname" >
其中,表格名稱為 tname, j 是直欄個數, 而 cname 是表格中的直欄名稱。
這個 PARAM 標籤指定特定橫列及直欄的值。 此標籤的語法如下:
<param name = 'DTW_tname_cname_VALUE_k' value = "val" >
其中表格名稱是 tname, cname 是直欄名稱, k 是列號, 而 val 是符合相對應之橫列及直欄中之數值的數值。
您可以在函數呼叫中,將表格直欄當作參數來傳遞,以產生特定直欄的標籤。 Net.Data 僅針對所指定之直欄來產生相對應的 applet 標籤。 表格直欄參數使用下列語法:
@DTWA_AppletName(DTW_COLUMN( x )Table)
其中 x 是該表格中之直欄的名稱或號碼。
表格直欄參數使用的 applet 標籤與為表格參數所定義的相同。
變數 DTW_APPLET_ALTTEXT 指定是因應在不支援 Java 或關閉 Java 支援的瀏覽器中顯示本文。 例如,下列變數定義:
%define DTW_APPLET_ALTTEXT = "<P>對不起,您的瀏覽器不支援 Java。"
產生下列 HTML 標籤及文字:
<P>對不起,您的瀏覽器不支援 Java。<BR>
若未定義這個變數,則不顯示替代本文。