我有TemplateEngine的问题 .
我有邮件模板解析器,根据名称填写百里香模板 . 当我没有指定子目录时它很好用 . 方法如下所示:
private String getMailFromTemplate(MailMessage message) {
Map<String, Object> objMap = new HashMap<>();
objMap.putAll(message.getContext());
Context context = new Context(message.getLocale(), objMap);
return templateEngine.process(message.getTemplate().getName(), context);
}
它工作正常 . 但是,当我将模板移动到子菜单调用mail并将返回行更改为
return templateEngine.process("mail/" + message.getTemplate().getName(), context);
然后它停止了工作 . 现在我有例外:
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [start], template might not exist or might not be accessible by any of the configured Template Resolvers (template: "mail/register" - line 1, col 6)
我也试过“/ mail /”但没有成功 .
奇怪的是它在MVC控制器中运行良好,例如我想返回驻留在子目录中的页面模板 .
我做错了什么?
1 回答
TemplateEngine配置为使用特定目录中的模板,当您尝试处理模板时,它会期望将其名称作为参数传递,因此“mail / register”是一个名称 .
您可以将templateEngine配置为从子目录中读取模板,如下所示: