【问题标题】:Thymeleaf Resolver in Java Application, non a Java WebJava 应用程序中的 Thymeleaf 解析器,非 Java Web
【发布时间】:2016-08-28 22:30:56
【问题描述】:

您好,我在 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 完成这项工作? 我是西班牙人,如果我的英语不完美,请见谅。 提前致谢!

【问题讨论】:

  • 你能上传一张你的项目结构图吗?
  • 需要将templates目录放在src/resources目录下

标签: java templates thymeleaf


【解决方案1】:

只需更改代码:

resolver.setPrefix("/templates/");

resolver.setPrefix("templates/");

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 2012-01-11
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多