1

別のテンプレートを呼び出した結果をパラメーターとして渡して、テンプレートを呼び出そうとしていますが、それを機能させることができないようです。絞り込みの例を次に示します。

ファイル内の次のテンプレートグループ:

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

次のJavaコードで呼び出された場合:

STGroup stg = new STGroupFile("thefile.stg");
ST boo = stg.getInstanceOf("boo");
System.out.println(boo.render());

期待どおりに動物園を作成します。

ただし、「zoo」リテラルを同じものを返すテンプレートに置き換えようとすると、STは解析中に次のように文句を言います。

動作しません:

echo(foo) ::="<foo>"
zoo() ::= "zoo"
boo() ::= << <echo( <zoo()>  )> >>
4

1 に答える 1

0

それ以外の:

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

使用する:

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

<>は、外部テンプレートが呼び出される場所で1回だけ使用する必要があるようです。

于 2013-03-20T13:46:48.363 に答える