【问题标题】:Need restart tomcat for html changes需要重新启动 tomcat 以进行 html 更改
【发布时间】:2016-09-08 15:12:56
【问题描述】:

我正在使用 eclipse 在一个使用 tomcat 8 运行的项目中工作。我正在使用 Spring MVC + Thymeleaf。我在 Gradle 中有 war 插件,所以每次更改 java 类时,它都会自动创建新的 WAR 文件并将其部署到 tomcat 中。

问题是当我更改一个 HTML 文件时,我必须重新启动 tomcat 才能看到更改。在另一个使用 JSF 的项目中不会发生的事情,如果我更改一个 xhtml,我可以看到新的东西只是刷新浏览器。

问题是,每次更改 HTML 或 CSS 文件时是否必须重新启动 Tomcat?这对我来说没有意义。

【问题讨论】:

  • 你能找出 HTML 文件是如何放置在项目中的吗? HTML 文件可以通过不同的方法作为资源进行管理,这可能是问题的根本原因。
  • @sphinks 我的 HTML 文件放在 WebContent/WEB-INF/templates 下。

标签: java spring-mvc gradle thymeleaf tomcat8


【解决方案1】:

配置模板引擎时需要禁用cacheble

<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    ...
    <property name="cacheable" value="false"/>
</bean>

如果这对你有用,请告诉我

【讨论】:

  • 是的!问题是 Thymeleaf 缓存,买我有 java 配置。我已经发布了!谢谢!
【解决方案2】:

问题是 Thymeleaf 缓存。您可以使用setCacheable 在配置中禁用它。这对 Thymeleaf 3+ 有效:

@Bean
public ViewResolver viewResolver() {
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
    viewResolver.setTemplateEngine(templateEngine());
    viewResolver.setCharacterEncoding(UTF8);
    return viewResolver;
}

private TemplateEngine templateEngine() {
    SpringTemplateEngine engine = new SpringTemplateEngine();
    engine.setEnableSpringELCompiler(true);
    engine.setTemplateResolver(templateResolver());
    return engine;
}

private ITemplateResolver templateResolver() {
    SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
    resolver.setApplicationContext(applicationContext);
    resolver.setPrefix("/WEB-INF/templates/");
    resolver.setSuffix(".html");
    resolver.setTemplateMode(TemplateMode.HTML);
    resolver.setCharacterEncoding("UTF-8");
    resolver.setCacheable(false);
    return resolver;
}

我在 Spring-boot 线程的 answer 中找到了这个。

【讨论】:

    【解决方案3】:

    试试exploded war。如果您使用 .war 文件,则需要为每次更改重新部署(据我所知)。

    【讨论】:

      猜你喜欢
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      • 2011-05-21
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多