我试图调用一个模板,作为参数传递调用另一个模板的结果,但我似乎无法让它工作。这是一个缩小范例:
文件中的以下模板组:
echo(foo) ::="<foo>"
boo() ::= << <echo("zoo")> >>
使用以下Java代码调用时:
STGroup stg = new STGroupFile("thefile.stg");
ST boo = stg.getInstanceOf("boo");
System.out.println(boo.render());
按预期生成 zoo 。
但是,当我尝试将“zoo”文字替换为返回相同的模板时, ST 会在解析过程中抱怨:
echo(foo) ::="<foo>"
zoo() ::= "zoo"
boo() ::= << <echo( <zoo()> )> >>
答案 0 :(得分:0)
而不是:
boo() ::= << <echo( <zoo()> )> >>
使用:
boo() ::= << <echo(zoo())> >>
似乎&lt; &GT;只需在调用外部模板的地方使用一次。