【发布时间】:2017-11-16 11:07:29
【问题描述】:
我正在使用 freemarker 生成文件,但我正在努力处理 templateExeptionHandler 部分。我的模板中有不需要替换的变量(如果它们不存在于数据模型中)。我不喜欢将这些变量以相同的值放入我的数据模型中(也无法让它工作),我知道我可以'escape' variables in the template itself,但我不太喜欢那个解决方案。
MyTemplateExceptionHandler 如下所示:
class MyTemplateExceptionHandler implements TemplateExceptionHandler {
public void handleTemplateException(TemplateException te, Environment env, Writer out) throws TemplateException {
try {
out.write("${" + te.getBlamedExpressionString() + "}");
} catch (IOException e) {
throw new TemplateException("Failed to print error message. Cause: " + e, env);
}
}
}
问题是,一旦我以以下形式解析变量:
${workflow.input.myVariable}
我新生成的文件中的结果只显示了这个变量的第一部分:
${工作流程}
关于如何取回完整变量并在生成的文件中返回的任何想法?
【问题讨论】:
标签: java variables exception-handling freemarker