如何使用StringTemplate导入目录?

时间:2012-04-06 19:31:04

标签: stringtemplate stringtemplate-4

我写了一个位于/ src文件夹中的示例java文件。

public class Main {
  public static void main(String[] args){
    STGroupFile StgFile=new STGroupFile("template.stg");
    StgFile.delimiterStartChar = '$';
    StgFile.delimiterStopChar = '$';
    ST webtemp=StgFile.getInstanceOf("test");
    webtemp.add("x","whyyy");
    System.out.println(webtemp.render());
  }
}

此外,我还有位于/ src文件夹中的文件template.stg

import "headers/header.stg" 
test(x) ::= << $included(x)$ >>

和/ src / headers文件夹中的文件header.stg。

included(x) ::= << headers[$x$] >>

结果显然是

headers[whyyy]  

但是如果我尝试导入整个头文件目录,那就像这样生成template.stg:

  import "headers" 
  test(x) ::= << $included(x)$ >>
  • 包含的子模板无法使用...

我使用的StringTemplate的版本是最新的4.0.5并且根据链接http://www.antlr.org/wiki/display/ST4/Differences+between+v3+and+v4允许导入目录..我甚至使用/之前和/或之后/ - 相对/绝对路径和它不起作用:(请帮忙吗?谢谢:)

1 个答案:

答案 0 :(得分:3)

您是否尝试过$header/included(x)$