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

李德伦 发布于 2014/07/22 22:32
阅读 909
收藏 1

现在的需求是这样的:

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

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

问题:

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

加载中
0
zqq90
zqq90

尝试定义自己的URLTemplateLoader

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

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

zqq90
zqq90
看一下源代码,include 指令使用的哪个loader 另外 Loader 打印一下每次的 url,多调试调试, 真是环境只有你自己知道,只能给你这些思路了
李德伦
李德伦
我就是自己定义的URLTemplateLoader,你说的include同样使用,是什么意思? 模板中包含还是这样子的: [#include "../include/header.html"/] 请问include怎么使用URLTemplateLoader?
0
李德伦
李德伦
我就是自己定义的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?
返回顶部
顶部