【发布时间】:2017-12-07 05:02:15
【问题描述】:
我有一个这样的目录结构:
Templates/
├── Foo/
│ ├── Foo.st
├── Signature.st
Foo.st 是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<div id="body">
<p> Some Text </p>
</div>
$Signature()$
</body>
</html>
这是我的带有 StringTemplate 的 Java 代码:
STRawGroupDir dir = new STRawGroupDir("Templates", '$', '$');
ST st = dir.getInstanceOf("Foo/Foo");
System.out.println(st.render());
但是输出是:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<div id="body">
<p> Some Text </p>
</div>
</body>
</html>
如何让Foo 模板能够正确引用签名模板?
如果我将Signature.st 放在Foo 目录中,那么上面的代码就可以正常工作,但我不能这样做,因为我将有许多模板将引用Signature 模板。
【问题讨论】:
标签: java antlr antlr4 stringtemplate stringtemplate-4