通过阅读源码搞定了
<bean id="viewResolverFtl" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".ftl"/>
<property name="order" value="0"/>
<property name="contentType" value="text/html;charset=UTF-8"/>
<!-- 此变量值为pageContext.request, 页面使用方法:rc.contextPath -->
<property name="requestContextAttribute" value="rc"/>
<property name="cache" value="false"/>
</bean>
这里关键是让 cache设置为 false.
开发环境下为false, 线上环境是true, 避免所有缓存
<!-- 配置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页面时,均会进行修改时间 的校验,判断是否应该重新载入。
通过热部署,就可以在更改任意文件时,都不用重启,就可以将文件或数据拷贝到 target目录下。
http://ww4.sinaimg.cn/bmiddle/60c9620fjw1eshlbfc24lj20nb0a8mzq.jpg