Java 包含模板的Freemarker处理

Java 包含模板的Freemarker处理,java,freemarker,Java,Freemarker,我有freemaker模板 <#import "includes/header.ftl" as header> <h1>${title}</h1> ${title} 在header.ftl中是 <html> <head> <title>${title}</title> </head> <body> ${title} 我有非常简单的代码来呈现它 Configuratio

我有freemaker模板

<#import "includes/header.ftl" as header>

<h1>${title}</h1>

${title}
在header.ftl中是

<html>
<head>
    <title>${title}</title>
</head>
<body>

${title}
我有非常简单的代码来呈现它

Configuration cfg = new Configuration();
File dir = new File("/usr/cms/data/templates");
cfg.setDirectoryForTemplateLoading(dir);
cfg.setDefaultEncoding("UTF-8");
cfg.setLocale(Locale.US);
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);

Map<String, Object> input = new HashMap<String, Object>();
input.put("title","Test title");

Template template = cfg.getTemplate("template.ftl");
Writer writer = new StringWriter();
template.process(input,writer);
Configuration cfg=新配置();
File dir=新文件(“/usr/cms/data/templates”);
cfg.setdirectoryforemplateLoading(dir);
设置默认编码(“UTF-8”);
setLocale(Locale.US);
setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW\u HANDLER);
映射输入=新的HashMap();
输入。输入(“标题”、“测试标题”);
Template-Template=cfg.getTemplate(“Template.ftl”);
Writer-Writer=新的StringWriter();
模板。流程(输入、编写器);
已处理模板,但StringWriter内的字符串中不包含header.ftl


如何在处理过程中强制freemarker包含#已包含的文件

如果您只想包含一个文件,应该使用
#include
,而不是
#import
。例如:

<#include "includes/header.ftl">