下面的例子演示了调用 Java applet 语言环境的 Net.Data 宏文件以及该语言环境生成的 结果小应用程序标记。
Net.Data 宏文件中包含以下对 Java applet 语言环境的函数调用:
%define{ DATABASE = "celdial" DTW_APPLET_ALTTEXT = "<P>Sorry, your browser is not Java-enabled." DTW_DEFAULT_REPORT = "no" MyGraph.codebase = "/netdata-java/" MyGraph.height = "200" MyGraph.width = "400" MyTitle = "This is my Title" %} %FUNCTION(DTW_SQL) mySQL(OUT table){ select name, age from ibmuser.guests %} %HTML (report){ @mySQL(MyTable) @DTWA_MyGraph( MyTitle, DTW_COLUMN(ages) MyTable ) %}
DEFINE 部分的 Net.Data 宏定义行指定了小应用程序标记的第一行:
MyGraph.codebase = "/netdata-java/" MyGraph.height = "200" MyGraph.width = "400"
语言环境使用以下限定符生成了一个小应用程序标记:
<applet code = 'MyGraph.class' codebase = '/netdata-java/' width = '400' height = '200' >
Net.Data 从 Net.Data 宏文件的 SQL 部分返回 SQL 查询的结果,结果放在 输出表 MyTable 中。此表格在 DEFINE 部分指定:
MyTable = %TABLE(all)
宏当中对小应用程序的调用是在 HTML 部分指定的:
@DTWA_MyGraph( MyTitle, DTW_COLUMN(ages) MyTable )
根据函数调用中的参数,Net.Data 生成完整的小应用程序标记,其中包含有关结果表格的信息, 例如:列数、返回的行数以及结果行。 Net.Data 为结果表格中的每个单元生成一个参数标记,如下面这个例子所示:
param name = 'DTW_MyTable_ages_VALUE_1' value = "35">
参数名称 DTW_MyTable_ages_VALUE_1 指定了表格 MyTable 中的 表格单元(行 1,列 ages),其值为 4。在对小应用程序的函数调用中的 关键字 DTW_COLUMN 指定了您只对结果表格 MyTable 中的列 age 感兴趣,如这里所示:
@DTWA_MyGraph( MyTitle, DTW_COLUMN(ages) MyTable )
以下输出显示了 Net.Data 为上述例子生成的完整的小应用程序标记。
<applet code = 'MyGraph.class' codebase = '/netdata-java/' width = '400' height = '200' > <param name = 'MyTitle' value = "This is my Title" > <param name = 'DTW_NUMBER_OF_TABLES' value = "1" > <param name = 'DTW_TABLE_1_NAME' value = "MyTable" > <param name = 'DTW_MyTable_NUMBER_OF_ROWS' value = "5" > <param name = 'DTW_MyTable_NUMBER_OF_COLUMNS' value = "1" > <param name = 'DTW_MyTable_COLUMN_NAME_1' value = "ages" > <param name = 'DTW_MyTable_ages_VALUE_1' value = "35"> <param name = 'DTW_MyTable_ages_VALUE_2' value = "32"> <param name = 'DTW_MyTable_ages_VALUE_3' value = "31" > <param name = 'DTW_MyTable_ages_VALUE_4' value = "28" > <param name = 'DTW_MyTable_ages_VALUE_5' value = "40" > <P>Sorry, your browser is not Java-enabled.<BR> </applet>