如何从资源包加载StringTemplates?

时间:2014-03-31 19:54:19

标签: java stringtemplate-4

我有以下包结构

src/main/resources/shiro/definitions

我想从资源包中加载.st个文件。我无法弄清楚如何为此文件夹获取正确的文件路径。

我想做一些类似(来自文档的片段)来加载我的模板:

STGroup group = new STGroupFile("shiro/definitions")
ST st = group.getInstanceOf("decl");
st.add("type", "int");
st.add("name", "x");
st.add("value", 0);
String result = st.render();

我还想在创建可执行jar时获取可在运行时访问它们的模板。

1 个答案:

答案 0 :(得分:1)

我一定是打错了。我能够让它发挥作用。

鉴于,

src/main/resources/shiro/definitions
-- shiro.stg

src/main/resources/shiro/definitions/test
-- decl.st
-- init.st

我可以将模板作为文件夹访问:

STGroup group = new STGroupDir("shiro/definitions/test");
ST st = group.getInstanceOf("decl");

我可以使用以下方式访问组文件:

STGroup group = new STGroupFile("shiro/definitions/shiro.stg");
ST st = group.getInstanceOf("decl");

有效!