今天用SpringMVC搭框架,遇到一个很奇葩的问题,修改页面时,页面没有刷新。clear下项目也不行,每次都要重新启动tomcat才生效,但是查看Tomcat里,发现tomcat已经编译,换了工作空间还是不行,然后就开始思考,这肯定是springMvc框架的原因,肯定是某个地方有缓存或者延迟检查。然后又开始对照自己的配置一个个去弄明白,果然发现是freemarker 缓存设置(开始的时候设置的是3600)
freemarker 缓存设置
<!-- 配置FreeMarkerConfigurer -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/freemarker/"/>
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">0</prop>
</props>
</property>
</bean>
这里关键是设置 template_update_delay 为0 ,因此每次在刷新 free marker页面时,均会进行修改时间 的校验,判断是否应该重新载入