无法导入org.thymeleaf.templatemode.TemplateMode

时间:2017-08-30 10:24:32

标签: java spring rest thymeleaf

我正在遵循以下教程,该教程基于使用Thymeleaf模板发送电子邮件。

指向教程的链接: http://www.thymeleaf.org/doc/articles/springmail.html

在此示例中,TemplateMode正在多个实例中使用

 private ITemplateResolver textTemplateResolver() {
    final ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
    templateResolver.setOrder(Integer.valueOf(1));
    templateResolver.setResolvablePatterns(Collections.singleton("text/*"));
    templateResolver.setPrefix("/mail/");
    templateResolver.setSuffix(".txt");
    templateResolver.setTemplateMode(TemplateMode.TEXT);
    templateResolver.setCharacterEncoding(EMAIL_TEMPLATE_ENCODING);
    templateResolver.setCacheable(false);
    return templateResolver;
}

private ITemplateResolver htmlTemplateResolver() {
    final ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
    templateResolver.setOrder(Integer.valueOf(2));
    templateResolver.setResolvablePatterns(Collections.singleton("html/*"));
    templateResolver.setPrefix("/mail/");
    templateResolver.setSuffix(".html");
    templateResolver.setTemplateMode(TemplateMode.HTML);
    templateResolver.setCharacterEncoding(EMAIL_TEMPLATE_ENCODING);
    templateResolver.setCacheable(false);
    return templateResolver;
}

在我搜索它时,我发现它位于org.thymeleaf.templatemode.TemplateMode但我无法将其导入我的项目

所以TemplateMode给了我错误。如何解决错误?

1 个答案:

答案 0 :(得分:2)

在Thymeleaf 3.0.0中添加了班级org.thymeleaf.templatemode.TemplateMode

只要您依赖Thymeleaf的版本> = 3.0.0,您就可以使用TemplateMode,因此TemplateMode在您的项目的课堂上不可用强烈暗示您使用的是Thymeleaf版本< 3.0.0。

底线是您链接的example使用Thymeleaf> = 3.0.0而您正在使用Thymeleaf< 3.0.0

FWIW,您的问题也标记spring所以也许您可以传递地获取您的Thymeleaf依赖(也许通过spring-boot-starter-thymeleaf)。您可以运行mvn dependency:tree并查看以下内容的输出:org.thymeleaf:thymeleaf以了解(a)您正在使用的Thymeleaf版本以及(b)此版本的来源。