在模板里面是可以用<#include>的,但是如果用程序如何做啊,如何指定加到哪里呢?
如果不愿意在FTL中使用Include,那么在JAVA代码中就分别解析两个模板,然后把结果合二为一。
不同LS的:
[code="java"]
Writer writer = new StringWriter();
Template t1 = config.getTemplate(t1Name);
t1.process(model,writer);
System.out.println(writer.toString());
writer = new StringWriter();
Template t2 = config.getTemplate(t2Name);
t2.process(model,writer);
System.out.println(writer.toString());
[/code]
不太明白你的意思,如果你用freemarker,可以写宏指令,这个可能满足模块的需求,如果哦你不用模板,那就只能检测字符串了
单纯 合并 还是比较容易的。
对同一个 Writer处理,可以做到前后合并。
要插入就麻烦了,要先将两个生成String的结果 ,然后用 字符串 占位符
替换 的方式。
[code="java"]
PrintWriter pw =null;
try {
Template tmpl1 = cfg.getTemplate(tmplName1,"UTF-8");
pw = new PrintWriter(workFile,"UTF-8");
tmpl1.process(root, pw);
Template tmpl2 = cfg.getTemplate(tmplName2,"UTF-8");
tmpl2.process(root, pw);
pw.flush();
} finally {
IOUtils.closeQuietly(pw);
}
[/code]