再会!
我开始使用 StringTemplate,但遇到了一个非常烦人的问题。我有一个简单的模板“T.st”
T(name, email, passwort) ::= << ... >>
它保存在一个目录“模板”中,该目录是我的源文件夹“src/main/resources”的一部分。当我执行以下几行
STGroup group = new STGroupDir("templates");
ST st = group.getInstanceOf("T");
组变量的根字段的值为“jar:file:/D:/path/to/apache-tomcat-8.0.21/wtpwebapps/application/WEB-INF/lib/service.jar!/templates/”
但是 st 将为空,即使显然找到了 groupdir,因为它存在于给定的 service.jar 中,并且当我将 dir 名称更改为不存在的名称时,我得到一个目录不存在的异常。但我不确定为什么我无法获得我的 T 模板的实例。
假设我将模板保存在“C:/templates”中并使用它来获取 STGroup,我最终将获得一个有效的实例并可以呈现正确的字符串。如果我的模板存储在普通目录(工作)或我的 service.jar 中的目录(不工作),为什么会有区别?
问候