解决SpringMVC Freemarker模版文件ftl热加载无效

本文详细介绍了如何解决SpringMVC中Freemarker模板文件(ftl)的热加载问题,包括检查web.xml的缓存设置、调整SpringMVC的缓存配置、设置Freemarker的template_update_delay为0以及配置IntelliJ的热部署功能。通过这些步骤,可以在开发过程中实现修改模板文件后无需重启即可见效果。
摘要由CSDN通过智能技术生成

通过阅读源码搞定了

  1. 先查看web.xml的缓存控制。这是最高优先级的缓存控制,如果开了缓存,生成的页面就会缓存在tomcat里。
  2. 再设置springmvc的缓存控制。一旦springmvc发现没有缓存开启,就会进行cache,如果发现缓存没开启,则会每次生成一个view(通过调用freemarker的方法来进行)。
  3. 再设置freemakre的缓存控制。freemakre通过一个时间长度来控制缓存
  4. 在上面两步完成之后,一般来说就可以了。但是还有一个问题是,web访问的是target目录下的classpath和WEB-INFO目录,而我们开发环境修改的模板文件不是target目录下。这就要求IntelliJ要有热部署功能,也就是在修改文件后,能自动更新target目录下的文件数据。

web.xml 缓存

如果web.xml里面存在类似下面的代码,就要把它注释掉,否则修改freemarker页面再刷新浏览器是不会生效的。如果没有这段代码,自信忽略。

<filter>
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值