我下载了Broadleaf的社区版,并且试图更改Thymeleaf模板中的某些标记。 (例如:layout / homepage.html)。但是,进行更改时,除非重新启动Broadleaf站点服务器,否则刷新浏览器时看不到更改。编辑JS和CSS时遇到相同的问题。
是否需要更改设置才能在不重新启动服务器的情况下查看前端更改?我怀疑某种缓存设置会阻止模板从文件中重新加载。
答案 0 :(得分:2)
很抱歉出现误导性论坛帖子。他指的缓存设置并不能缓解您遇到的问题。如果没有Jrebel或某种热交换机制,则在不重新启动服务器的情况下将看不到更改。可能有用的一件事是,如果您从IDE运行项目,则可能会显示模板更改,因为它会将更改后的模板放置到已部署的Jar中。
在Google搜索之后,我也确实遇到了https://blog.codeleak.pl/2016/12/thymeleaf-reload-templates-and-static-resources.html。我不确定是否可行,但是值得一试
答案 1 :(得分:1)
从具有spring-boot maven目标的终端运行时,使用oob Breadleaf演示站点似乎可以使用IDE重建:
mvn spring-boot:run
一旦运行,如果您在自动启用构建(重要!)的情况下更新IDE中的模板/ css,则该站点确实会在刷新时反映出更改。
我验证了它可以与IntelliJ,Spring Tool Suite和基本Eclipse一起使用。
答案 2 :(得分:0)
对于Broadleaf 6.0.6,我不得不添加模板解析器bean:
@Bean
public BroadleafTemplateResolver devTemplateResolver() {
BroadleafThemeAwareTemplateResolver resolver = new BroadleafThemeAwareTemplateResolver();
resolver.setPrefix(Paths.get("src/main/resources/").toUri().toString());
resolver.setTemplateFolder("webTemplates/");
resolver.setSuffix(".html");
resolver.setCharacterEncoding("UTF-8");
resolver.setCacheable(false);
resolver.setOrder(10);
return resolver;
}
这是一个“演示站点”项目,即SiteConfig.java类。
此bean转到模板解析器列表的顶部,因此可以从src文件夹中提取对模板文件的更改,而无需重新构建。