Java 启动时加载Velocity字符串模板

Java 启动时加载Velocity字符串模板,java,velocity,Java,Velocity,我在内存中有一个字符串列表。我想在应用程序启动期间将它们全部加载为velocity模板。我该怎么做 我知道如何从以下字符串创建模板: 但是我想知道如何在字符串集合上一次加载所有模板字符串,并对它们进行初始化--不确定您还需要什么。我有两个问题1。我不确定该链接中提到的哪段代码确切地初始化了模板。我是否每次都必须创建一个新模板并调用template.initDocument()初始化模板?或者正在调用runtimeServices.parse(读取器,“模板名”)足够吗?2.加载后,如何获取特定模

我在内存中有一个字符串列表。我想在应用程序启动期间将它们全部加载为velocity模板。我该怎么做

我知道如何从以下字符串创建模板:


但是我想知道如何在字符串集合上一次加载所有模板字符串,并对它们进行初始化--不确定您还需要什么。

我有两个问题1。我不确定该链接中提到的哪段代码确切地初始化了模板。我是否每次都必须创建一个新模板并调用
template.initDocument()初始化模板?或者正在调用
runtimeServices.parse(读取器,“模板名”)足够吗?2.加载后,如何获取特定模板?它是否像
velocityEngine.getTemplate(“模板名称”)
您需要保留对已编译模板的引用。IIRC
getTemplate
用于使用常规模板资源管理(类路径、文件系统等)检索模板。显示的代码块是初始化模板的内容,尽管我不知道这是否都是必需的,或者是否有较短的方法。我不太清楚你想做什么,所以除了你要问的具体问题之外很难提供建议——现在我觉得你做得不对,不过:)在freemarker中,我可以初始化StringTemplateLoader并在那里添加我的所有模板。然后,我可以通过名称访问缓存的模板。我希望能在速度上找到类似的东西,但似乎不是这样:(我不知道。FreeMarker也有更好的错误报告。