freemarker <#include> 缓存问题

发布于 2021-11-06 20:43:59 字数 628 浏览 963 评论 11

 <#if val=="first">
   <#include "/bluecms_sys/template/first.html"/>
   <#elseif val=="channel">
   <#include "/bluecms_sys/template/channel.html"/>
   <#elseif val=="content">
   <#include "/bluecms_sys/template/content.html"/>
   </#if>

就这段代码,我是想每次进到这个页面的时候都会根据不同的选择进入包含不同的页面中,我是通过读取不同模板中的首页(first),或者栏目页(channel),或者内容页(content)不同风格的页面,之后把这样的页面用IO流写入到first.html,或者channel.html,或者content.html中,之后就会在上面的代码所在的页面中显示出来,问题是我更换模板的时候会把原来的页面效果也加载进来,但是你看源码是没有加载进来的,我试想这应该事freemarker模板的缓存问题

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

感情旳空白 2021-11-12 04:47:31

有没试过,如果包含的ftl文件不存在,会怎么处理?怎么判断以做跳转?

屌丝范 2021-11-12 04:47:31

恩 我试试刚才那哥们说的方法

一人独醉 2021-11-12 04:47:31

QQ?是什么东西?

酷到爆炸 2021-11-12 04:47:23

回复
好几年没玩了,好像是页面报ftl的错误

挽清梦 2021-11-12 04:47:12

对于cms系统,最好用SSI(服务端包含,一般后缀名为shtml),html文件用定时任务生成

<!--#include file="test.html" -->

反话 2021-11-12 04:47:12

我的另外一个项目用了很多 #include 的,但是是 .ftl 文件,不是 .html 文件,挺好的,没任何问题

筱果果 2021-11-12 04:47:11

用这个试试,我这样用的,代码很少:

<#include "/bluecms_sys/template/${val}.html"/>

命硬 2021-11-12 04:46:49

呵呵,刚刚出去吃饭了,我代码里写的是IO流的读写,直接访问没任何问题,但是一旦你访问过一次之后再去include其他的页面就会出现缓存问题,我也郁闷了很久,第一次生成相应的html并且到index页面没任何问题(index.html中包含上面问题的代码段),而第二次就会出现相应的问题了,加载的html代码没问题,但是显示却是前后两个页面的内容

无边思念无边月 2021-11-12 04:46:37

直接访问3个html页面有问题没,是不是写文件出啥问题了?用了好多年freeemarker了,还真没发现有这功能,只知道模版是有缓存的,但是一更新就全换了,没原来的东西。

情场扛把子 2021-11-11 22:33:47

就是每更换一次模板,在加载页面中都会把上几次更换的模板现在出来,导致包含的页面非常乱

尐偏执 2021-11-08 01:41:45

出了什么问题呢?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文