我正在遵循以下教程,该教程基于使用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给我错误。如何解决错误?
最佳答案
Thymeleaf 3.0.0中添加了类org.thymeleaf.templatemode.TemplateMode
。
只要您依赖Thymeleaf> = 3.0.0的版本,便可以使用TemplateMode
,因此项目的classapth上不可用TemplateMode
的事实强烈暗示您正在使用Thymeleaf
最重要的是,链接到的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)该版本来自何处。