我正在研究基于JSF的应用程序,它必须从单个docx模板生成不同的视图(1. PDF,2。Readonly XHTML,3。带有JSF支持bean支持的XHTML)。此docx模板基于Freemarker变量。 Freemarker模板引擎的数据模型是 DynamicEntity ,请参阅http://www.eclipse.org/eclipselink/api/2.0/org/eclipse/persistence/dynamic/DynamicEntity.html
为了生成带有JSF支持bean支持的FORM的XHTML,我想在docx模板中将某些变量标记为可编辑,例如$ {编辑_ customer.name}并且在模板引擎替换过程中,而不是尝试用数据模型中的值替换它们,我想用JSF EL表达式替换它们,例如< h:inputtext value =“#{customer.name}”/> 。所以最后我会有一个docx。具有特殊标记的模板,它对于可编辑的XHTML具有特殊含义,并且必须忽略它们用于PDF / Readonly-XHTML。
我查看了Freemarker源代码,找到了我可以改变变量置换行为的挂钩点,但找不到任何线索。那里的东西被宣布为最终的而不是可扩展的:(
有谁有想法如何才能达到上述要求?