我写了一个位于/ 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允许导入目录..我甚至使用/之前和/或之后/ - 相对/绝对路径和它不起作用:(请帮忙吗?谢谢:)
答案 0 :(得分:3)
您是否尝试过$header/included(x)$
?