freemarker渲染远程服务器(如ftp)上的模板文件问题

发布于 2021-11-26 07:23:18 字数 272 浏览 785 评论 4

现在的需求是这样的:

1. 模板文件现在都放在了远程FTP服务器上 ;

2. 现在要将FTP服务器上的模板文件静态化 ;

问题:

    使用freemarker进行渲染时,获取远程的模板文件,我使用了URLTemplateLoader,这样是可以获取并成功渲染单个指定的模板文件的。但是,如果模板文件里包含(include)了其他的模板文件的话,渲染就失败了,后台就会无限的查询,直到内存溢出,请问我该怎么做,才能渲染成功?

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

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

发布评论

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

评论(4

冷清清 2021-11-29 05:44:34

我就是自己定义的URLTemplateLoader,你说的include同样使用,是什么意思?

我自己定义的如下:

public class MyUrlTemplateLoader extends URLTemplateLoader {

    private URL myUrl;

    public MyUrlTemplateLoader(URL myUrl) {

        this.myUrl = myUrl;

    }

    @Override

    protected URL getURL(String name) {

        return myUrl;

    }

}

模板中包含还是这样子的:

[#include "../include/header.html"/]

请问include怎么使用URLTemplateLoader?

本宫微胖 2021-11-29 05:44:01

我就是自己定义的URLTemplateLoader,你说的include同样使用,是什么意思? 模板中包含还是这样子的: [#include "../include/header.html"/] 请问include怎么使用URLTemplateLoader?

泛滥成性 2021-11-29 05:00:47

看一下源代码,include 指令使用的哪个loader 另外 Loader 打印一下每次的 url,多调试调试, 真是环境只有你自己知道,只能给你这些思路了

吃颗糖壮壮胆 2021-11-26 19:03:20

尝试定义自己的URLTemplateLoader

然后 核实一下 include 是否同样使用的 URLTemplateLoader

希望只是 URLTemplateLoader 的问题,这样 你只需要自己定义一个Loader 就能解决问题

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