SpringMVC使用Thymeleaf视图解析技术浏览器无法刷新前端页面

问题描述

  • 我在使用SpringMVC框架加上Thymeleaf视图解析技术开发JavaWeb应用时遇到了一个很奇葩的问题,就是成功部署之后再修改前端页面的内容,然后浏览器中无法刷新(注意我这里是说的无法刷新,不是说的无法自动刷新,就是说即使我清除浏览器缓存,Ctrl + F5强制刷新,修改Tomcat相关选项,手动更新类和资源等等,只要不重新部署或者重启服务器就完全无法刷新 )。

解决思路

  • 之前我在使用原生JavaWeb,不使用SpringMVC,不使用Thymeleaf的时候我发现我可以正常刷新,我就以为是SpringMVC的配置问题,然后仔细检查,搜集资料发现SpringMVC的配置没有问题,然后根据其他伙伴提供得相关解决方案,参照了这个博客
    SpringMVC + FreeMarker页面不刷新
  • 他是使用的SpringMVC + Freemarker也遇到了同样的问题,根据他解决的思路,于是我就把问题定位到了Thymeleaf的配置中。

解决方案

  • 在SpringMVC的配置文件中找到配置Thymeleaf的bean标签,在里面添加这样一条属性,来关闭缓存就可以解决了
  • <property name="cacheable" value="false"/>
    在这里插入图片描述
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置Spring MVC中的Thymeleaf视图解析器,您可以创建一个Java类,并使用以下代码进行配置: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.thymeleaf.spring5.SpringTemplateEngine; import org.thymeleaf.spring5.view.ThymeleafViewResolver; import org.thymeleaf.templateresolver.ServletContextTemplateResolver; @Configuration @EnableWebMvc public class ThymeleafConfig implements WebMvcConfigurer { @Bean public ViewResolver viewResolver() { ThymeleafViewResolver resolver = new ThymeleafViewResolver(); resolver.setTemplateEngine(templateEngine()); resolver.setCharacterEncoding("UTF-8"); return resolver; } @Bean public SpringTemplateEngine templateEngine() { SpringTemplateEngine engine = new SpringTemplateEngine(); engine.setTemplateResolver(templateResolver()); return engine; } @Bean public ServletContextTemplateResolver templateResolver() { ServletContextTemplateResolver resolver = new ServletContextTemplateResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".html"); resolver.setTemplateMode("HTML"); return resolver; } } ``` 上述代码中,我们使用`@Configuration`注解将该类标记为配置类。`@EnableWebMvc`注解启用Spring MVC的基本配置。 `viewResolver()`方法创建一个Thymeleaf视图解析器,并设置了模板引擎为`templateEngine()`方法返回的SpringTemplateEngine。 `templateEngine()`方法创建一个SpringTemplateEngine,并设置了模板解析器为`templateResolver()`方法返回的ServletContextTemplateResolver。 `templateResolver()`方法创建一个ServletContextTemplateResolver,并设置了视图前缀、后缀和模板模式。 请注意,上述配置假设您的Thymeleaf模板文件位于`/WEB-INF/views/`目录下,并以`.html`作为文件扩展名。您可以根据您的实际项目结构和需求进行相应的更改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值