Java应用程序中的Thymeleaf Resolver,非Java Web

时间:2016-05-03 18:20:17

标签: java templates thymeleaf

您好我在使用Spring的Java Web应用程序中使用了Thymeleaf没有太多问题,但是我正在制作Java应用程序(Java SE非Java Web应用程序)并且我遇到了Thymeleaf模板解析器问题,无法找到我的模板,我认为这是可能的,因为当我设置模板解析器的前缀是从根" / WEB-INF" (在WebContent文件夹中),但在Java SE中它不存在,这是我的代码:

ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("/templates/");
resolver.setTemplateMode("HTML5");
resolver.setSuffix(".html");
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);
Context context = new Context(Locale.UK);
final String contentMessage = templateEngine.process("emailInvitations/invitation", context);

我收到此错误:

  

解析模板错误" emailInvitations / invitation",模板可能   任何已配置的模板都不存在或可能无法访问   解析器

我的文件夹模板位于项目文件夹下,但我已尝试设置前缀" classpath:/ templates /"并在src文件夹下移动模板文件夹。

有什么方法可以使用Java SE吗? 我是西班牙人,对不起,如果我的英语不完美。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

只需更改代码:

resolver.setPrefix("/templates/");

resolver.setPrefix("templates/");

对于java应用程序,您不必以“/”

开头