StringTemplates,如何在代码中创建一组模板
StringTemplates, how to create a group of templates in code
我是 StringTemplates
的新手,正在尝试弄清楚如何从文件以外的来源(它实际上在数据库中)构建一组模板。
我错过了类似 (伪代码):
STGroup group = new STGroup();
group.addTemplate("name", args, "... <actual template goes here> ...");
我找不到任何类似的东西。 STGroup.defineTemplate
-方法看起来都仅供内部使用,或者是 java-doc'ed "for testing"。 STGroup.compile
需要 Token
.
其实我想在Java中写一个组文件的内容。 STGroupString
在性能方面看起来并不乐观。我们有数百个模板,其中一些非常大。将其呈现为组文件语法,然后让 StringTemplates 将其解析回名称、参数、内容结构而不是直接传入该结构对我来说没有意义。
您可以使用 STGroup.defineTemplate()
,即使它的 Javadoc 说 for testing
:
STGroup stGroup = new STGroup();
stGroup.defineTemplate("myTemplate", "is this true? <if (true)>yes<endif>");
// will print "is this true? yes"
System.out.println(stGroup.getInstanceOf("myTemplate").render());
我是 StringTemplates
的新手,正在尝试弄清楚如何从文件以外的来源(它实际上在数据库中)构建一组模板。
我错过了类似 (伪代码):
STGroup group = new STGroup();
group.addTemplate("name", args, "... <actual template goes here> ...");
我找不到任何类似的东西。 STGroup.defineTemplate
-方法看起来都仅供内部使用,或者是 java-doc'ed "for testing"。 STGroup.compile
需要 Token
.
其实我想在Java中写一个组文件的内容。 STGroupString
在性能方面看起来并不乐观。我们有数百个模板,其中一些非常大。将其呈现为组文件语法,然后让 StringTemplates 将其解析回名称、参数、内容结构而不是直接传入该结构对我来说没有意义。
您可以使用 STGroup.defineTemplate()
,即使它的 Javadoc 说 for testing
:
STGroup stGroup = new STGroup();
stGroup.defineTemplate("myTemplate", "is this true? <if (true)>yes<endif>");
// will print "is this true? yes"
System.out.println(stGroup.getInstanceOf("myTemplate").render());