您使用 Net.Data 函数调用来指定对 applet 语言环境的调用。对于这个函数调用不需要任何 说明。函数调用的语法如下:
@DTWA_AppletName(parm1, parm2, ..., parmN)
要编写一个生成小应用程序标记的宏文件:
%define{ DATABASE = "celdial" <=Net.Data variable: name of the database MyGraph.codebase = "/netdata-java" <=Required applet parameter MyGraph.height = "200" <=Required applet parameter MyGraph.width = "400" <=Required applet parameter MyTitle = "This is my Title" <=Net.Data variable: name of the Web page MyTable = %TABLE(all) <=Table to store query results %}
%FUNCTION(DTW_SQL) mySQL(OUT table){ select name, age from ibmuser.guests %}
例如:
%HTML(report){ <=The start of the HTML block @mySQL(MyTable) <=A call to the SQL function mySQL @DTWA_MyGraph( MyTitle, DTW_COLUMN(ages) MyTable) <=Applet function call %}
您可以在 Net.Data 宏中的任何地方为小应用程序标记指定属性。 Net.Data 将所有形如 AppletName.attribute 的变量替代到 小应用程序标记中,作为属性。对小应用程序标记定义属性的语法是这样的:
%define AppletName.attribute = "value"
这些属性是所有小应用程序都需要的:
例如,如果您的小应用程序名为 MyGraph,那么您可以定义这些必需的属性:
%DEFINE{ MyGraph.codebase = "/netdata-java/" MyGraph.height = "200" MyGraph.width = "400" %}
实际的赋值不需要在 DEFINE 部分完成。您可以使用 DTW_ASSIGN 函数来设置值。如果您没有 为 AppletName.code 变量定义一个变量,则 Net.Data 将在小应用程序标记中 添加一个缺省的 code 参数。code 参数的值 为 AppletName.class,其中 AppletName 是您的小应用程序名。
您定义一个参数列表,它们在函数调用中传递给 Java applet 语言环境。您可以传递的参数包括:
传递参数时,Net.Data 将使用您为该参数指定的名称和值在 HTML 输出中创建 一个 Java 小应用程序 PARAM 标记。 不能传递字符串文字或函数调用的结果。
您可以将 Net.Data 变量用作参数。如果您在宏的 DEFINE 块中定义一个变量并在 DTWA_AppletName 函数调用中传送该变量,那么 Net.Data 将生成一个名称与值 都与该变量相同的 PARAM 标记。例如,给出以下宏语句:
%define{ ... MyTitle = "This is my Title" %} %HTML (report){ @DTWA_MyGraph( MyTitle, ...) %}
Net.Data 产生以下小应用程序的 PARAM 标记:
<param name = 'MyTitle' value = "This is my Title" >
每次调用 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 仅 对于指定的列生成相应的小应用程序标记。表格列参数使用以下语法:
@DTWA_AppletName(DTW_COLUMN( x )Table)
其中 x 是表格中的列名或列号。
表格列参数使用为表格参数定义的小应用程序标记。
变量 DTW_APPLET_ALTTEXT 指定了显示在不支持 Java 的浏览器或关闭了 Java 支持的 浏览器上的文本。例如,以下变量定义:
%define DTW_APPLET_ALTTEXT = "<P>Sorry, your browser is not Java-enabled."
将产生以下 HTML 标记和文本:
<P>Sorry, your browser is not Java-enabled.<BR>
如果没有定义这个变量,则不显示任何替换文本。