1

我试图调用一个模板,将调用另一个模板的结果作为参数传递,但我似乎无法让它工作。这是一个缩小范围的示例:

文件中的以下模板组:

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()>  )> >>
4

1 回答 1

0

代替:

boo() ::= << <echo( <zoo()> )> >>

利用:

boo() ::= << <echo(zoo())> >>

似乎 < > 只需要在调用外部模板的地方使用一次。

于 2013-03-20T13:46:48.363 回答