Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 模板应用程序默认参数_Java_Templates_Stringtemplate 4 - Fatal编程技术网

Java 模板应用程序默认参数

Java 模板应用程序默认参数,java,templates,stringtemplate-4,Java,Templates,Stringtemplate 4,我会尽量使我的问题看起来简单,希望解决办法是简单的 让我们声明我们有两个模板,如下所示: html(data,value,charts) ::= << <!DOCTYPE HTML> <html> [...] var $data$ = $value$; $charts$ [...] </html> >> chart(chartname,data,categoryn

我会尽量使我的问题看起来简单,希望解决办法是简单的

让我们声明我们有两个模板,如下所示:

html(data,value,charts) ::= <<
    <!DOCTYPE HTML>
    <html>
    [...]
        var $data$ = $value$;
        $charts$
    [...]
    </html>
>>

chart(chartname,data,categoryname,graphs) ::= <<
    var $chartname$;
    $chartname$.dataProvider = $data$;
    [...]
>>
但是,“数据”对所有人都是一样的(代码重复!),因此我想在“html”模板中的数据上应用“图表”模板,如下所示:

html(data,value,charts) ::= <<
    [...]
        var $data$ = $value$;
        $charts(data)$
    [...]
>>
html(数据、值、图表):=>
这是不可能的,因为“图表”模板不仅仅是作为“数据”的参数

我的问题是: 如何调用“图表”模板,使用“html”.“数据”表示“图表”.“数据”,但保持在运行时使用.add(字符串,对象)设置参数的常用方式


谢谢你抽出时间

一个选项是从
图表
模板中删除
数据
参数。这样做将允许
图表
中对
数据
的引用在调用上下文(例如
html
模板)中查找属性。然而,这也意味着:

  • 无法为
    图表
    模板的实例显式设置
    数据
    参数(Java代码中的最后两行将引发异常)
  • 无法单独呈现
    图表
    模板。如果需要在没有
    html
    模板的情况下呈现
    图表
    模板,则需要定义一个新模板,如
    standaloneChart(数据,图表)
    ,该模板允许您在定义
    数据
    的上下文中呈现
    图表
    模板

  • 因为我的图表和html页面之间有一个组合关系,所以我可以处理这两个结果。你能提出关于“在调用上下文中查找属性”的建议吗?我怎么办?(顺便谢谢你)
    html(data,value,charts) ::= <<
        [...]
            var $data$ = $value$;
            $charts(data)$
        [...]
    >>