我会尽量让我的问题看起来很简单,希望能有解决方案。
让我们声明我们有两个模板,如下所示:
html(data,value,charts) ::= <<
<!DOCTYPE HTML>
<html>
[...]
var $data$ = $value$;
$charts$
[...]
</html>
>>
chart(chartname,data,categoryname,graphs) ::= <<
var $chartname$;
$chartname$.dataProvider = $data$;
[...]
>>
在 Java 中,我必须执行以下操作:
ST myPage = group.getInstanceOf("html");
ST chart1 = group.getInstanceOf("chart");
ST chart2 = group.getInstanceOf("chart");
myPage.add("data", xxx );
chart1.add("data", xxx );
chart2.add("data", xxx );
但是,“数据”对所有人都是相同的(代码重复!),所以我想在我的“html”模板中的数据上应用“图表”模板,例如:
html(data,value,charts) ::= <<
[...]
var $data$ = $value$;
$charts(data)$
[...]
>>
这是不可能的,因为“图表”模板作为参数而不仅仅是“数据”。
我的问题是:如何调用“图表”模板,使用“html”。“数据”作为“图表”。“数据”,但保持通常的方式在运行时使用 .add(String, Object) 设置参数.. ?
感谢您的时间 !