我正在迁移现有的应用程序到Spring 5.0.0。M3
该应用程序有两个模板文件夹邮件
和模板
。如果我为电子邮件模板指定以下配置,templates
文件夹将被忽略;e、 g.我正在获取此文件夹中模板的FileNotFoundException
。
@Configuration
public class ThymeleafConfiguration {
@SuppressWarnings("unused")
private final Logger log = LoggerFactory.getLogger(ThymeleafConfiguration.class);
@Bean
@Description("Thymeleaf template resolver serving HTML 5 emails")
public ClassLoaderTemplateResolver emailTemplateResolver() {
ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
emailTemplateResolver.setPrefix("mails/");
emailTemplateResolver.setSuffix(".html");
emailTemplateResolver.setTemplateMode("HTML5");
emailTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
emailTemplateResolver.setOrder(1);
return emailTemplateResolver;
}
}
我尝试过将setOrder
参数设置为2,10等,这没有什么区别。如果我删除了解析器方法,则可以识别模板
文件夹,但不能识别mails
文件夹。
你知道会发生什么吗?
据我所知,您在resources文件夹下有邮件和模板子文件夹。
您可以在ClassLoaderTemplateResolver中添加资源文件夹作为前缀。然后为邮件和模板子文件夹添加ResourceHandler。
ClassLoaderTemplateResolver
@Bean
@Description("Thymeleaf template resolver serving HTML 5 emails")
public ClassLoaderTemplateResolver emailTemplateResolver() {
ClassLoaderTemplateResolver emailTemplateResolver = new
ClassLoaderTemplateResolver();
emailTemplateResolver.setPrefix("resources/");
emailTemplateResolver.setSuffix(".html");
emailTemplateResolver.setTemplateMode("HTML5");
emailTemplateResolver.setCharacterEncoding(CharEncoding.UTF_8);
emailTemplateResolver.setOrder(1);
return emailTemplateResolver;
}
将ResourceHandler方法放在应用程序类中,并用@SpringBootApplication注释该类。
资源处理程序
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/mails/**")) {
registry.addResourceHandler("/mails/**").addResourceLocations("classpath:/resources/mails/");
}
if (!registry.hasMappingForPattern("/templates/**")) {
registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/resources/templates/");
}
}
当您从任何方法返回视图名称时,它可能类似于:
return "mails/page1";
或
return "templates/page2";
我想做一些像 在百里香叶中。我知道有一个价值观,我要做的就是 如何在Thyemleaf的select选项中传递两个值。
我试图在thymleaf中迭代函数列表。这就是我所做的。 控制器: 并在html中: 我是新来的。我做错了什么?或者我应该使用?
我想把JavaScript onClick属性使用Thym立叶。 我这样写代码 此代码正在运行。当productName包含这样的特殊字符时,我会遇到问题 然后JavaScript函数看起来像这样 我需要从产品名称中转义双引号和单引号字符。我该怎么做?
当图像存在时,我想在thymleaf中显示背景图像,但如果不存在,我想在那里显示默认图像。我试过的如下 在最后一个空引用中,我想放一个这样的默认图像 但它显示出错误。正确的语法是什么?
我正在使用Spring Boot 1.2.7和Thymeleaf。 所有html页面都在文件夹中,当我说
我试图从这个胸腺页发送一个参数 然后我尝试使用此代码接收参数() 问题是当的值类似于我在方法中收到的makeAndSendInVoice只是 它不会向我发送部分 我该怎么修?