我试图调用一个模板,将调用另一个模板的结果作为参数传递,但我似乎无法让它工作。这是一个缩小范围的示例:
文件中的以下模板组:
echo(foo) ::="<foo>"
boo() ::= << <echo("zoo")> >>
使用以下 Java 代码调用时:
STGroup stg = new STGroupFile("thefile.stg");
ST boo = stg.getInstanceOf("boo");
System.out.println(boo.render());
按预期生产动物园。
但是,当我尝试用返回相同的模板替换“动物园”文字时, ST在解析期间抱怨:
不起作用:
echo(foo) ::="<foo>"
zoo() ::= "zoo"
boo() ::= << <echo( <zoo()> )> >>