java - 从 alfresco 存储库加载 FTL 模板文件

标签 java web-services templates alfresco

我有一个 ftl 模板文件存储在 alfresco 存储库中。这个文件的路径是:/app:company_home/app:dictionary/cm:StarXpert_x0020_Workflow/cm:templates/cm:contentModelTemplate.ftl

我想使用这个FTL 文件来创建一个XML 文件。在我的 java 支持的 webscript Controller 中,我想获取 FTL 文件,我使用了很多方法来实现这一点,但没有任何效果。 我试过这段代码:

Template template=cfg.getTemplate("PATH:\"/app:company_home/app:dictionary/cm:StarXpert_x0020_Workflow/cm:templates/cm:contentModelTemplate.ftl\"");

但我仍然收到此错误:

java.io.FileNotFoundException: Template "contentModelTemplate.ftl" not found

我还尝试通过将其 nodeRef 作为对 getTemplate() 方法的引用来获取模板,但它也不起作用。

有没有人以前做过这个?感谢您的帮助。

最佳答案

如果目标是让您的网络脚本响应转换后的 XML 文件,那么为什么不利用网络脚本本身来完成这种转换呢?

为此,将 Freemarker 模板从它在数据字典中的当前位置移动到您的 Web 脚本中(我不知道您使用的是存储库部署的 Web 脚本还是类路径部署的 Web 脚本——它不会不会产生功能上的差异)。

然后,您的 Java 支持的网络脚本将抓取数据并将其放入模型中。

Freemarker 模板将自动用于使用模型中的数据呈现 XML 响应。

关于java - 从 alfresco 存储库加载 FTL 模板文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844316/

相关文章:

java - 如何从jtable中删除一行

c# - 如何设计一个包含网络服务结果的类

web-services - Azure:是否创建Web服务

c# - .NET 4.5 中的序列化中断

C++ 模板仅限于基类及其派生类

java - XMLUnit - Xml 文件缩进对比较的影响

java - 如何在 Soap Web 服务 JAX-WS 中添加 header

c++ - 为什么模板类型参数不可见/不存在而不是非类型参数?

java - 为什么在android中命名资源不能使用大写?

c++ - 整数和 const char[N] 上的模板未编译(无法推断模板参数 'N' )