Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java StringTemplates,如何在代码中创建一组模板_Java_Stringtemplate 4 - Fatal编程技术网

Java StringTemplates,如何在代码中创建一组模板

Java StringTemplates,如何在代码中创建一组模板,java,stringtemplate-4,Java,Stringtemplate 4,我不熟悉StringTemplates,并尝试了解如何从文件以外的源构建一组模板(它实际上位于数据库中) 我错过了类似(伪代码): STGroup group=new STGroup(); group.addTemplate(“名称”,参数,“…”); 我找不到类似的东西STGroup.defineTemplate-所有方法看起来都只供内部使用,或者都是java-doc“用于测试”STGroup.compile接受一个令牌 我实际上想用Java编写一个组文件的内容STGroupString在性

我不熟悉
StringTemplates
,并尝试了解如何从文件以外的源构建一组模板(它实际上位于数据库中)

我错过了类似(伪代码):

STGroup group=new STGroup();
group.addTemplate(“名称”,参数,“…”);
我找不到类似的东西
STGroup.defineTemplate
-所有方法看起来都只供内部使用,或者都是java-doc“用于测试”
STGroup.compile
接受一个
令牌


我实际上想用Java编写一个组文件的内容
STGroupString
在性能方面看起来不太理想。我们有数百个模板,其中一些非常大。将其呈现为组文件语法,然后让StringTemplates将其解析回名称、参数、内容结构,而不是直接传入该结构,这对我来说是没有意义的。

您可以使用
STGroup.defineTemplate()
,即使它的Javadoc说
用于测试

STGroup STGroup=new STGroup();
stGroup.defineTemplate(“myTemplate”,“这是真的吗?是”);
//将打印“这是真的吗?是的”
System.out.println(stGroup.getInstanceOf(“myTemplate”).render();

您可以使用
STGroup.defineTemplate()
,即使它的Javadoc上写着用于测试的

STGroup STGroup=new STGroup();
stGroup.defineTemplate(“myTemplate”,“这是真的吗?是”);
//将打印“这是真的吗?是的”
System.out.println(stGroup.getInstanceOf(“myTemplate”).render();

新ST(“模板主体在这里”)
怎么样?name和args来自哪里?@Clashsoft:谢谢,但这只创建了一个模板,而不是一个组。模板是如何添加到组中的?新ST(“模板主体在此处”)如何?name和args来自哪里?@Clashsoft:谢谢,但这只创建了一个模板,而不是一个组。模板是如何添加到组中的?谢谢您的回答。我想那会有用的。同时,我切换到了FreeMarker,因为StringTemplates从API的角度来看非常糟糕(它实际上没有任何抽象,只是几个类可以做很多事情)。谢谢你的回答。我想那会有用的。同时,我切换到了FreeMarker,因为StringTemplates从API的角度来看非常糟糕(它实际上没有任何抽象,它只是几个做很多事情的类)。
STGroup group = new STGroup();
group.addTemplate("name", args, "... <actual template goes here> ...");