在Alfresco规则脚本中将数组转换为模板

时间:2012-06-26 13:15:14

标签: freemarker alfresco

我对Alfresco Community v4.0.0有疑问

  • 我创建了内容规则,
  • 选择执行脚本,
  • 并在脚本中调用processTemplate(ScriptNode模板,数组args)

如何将数组导入模板? Args只包含键 - 值(String)。

提前感谢任何建议或帮助

1 个答案:

答案 0 :(得分:1)

我认为你得到类似“预期的扩展哈希.args.array而不是freemarker.template.SimpleScalar”,我是对的吗?

如果是这样,我担心你无法使用从内容规则调用的脚本,因为复杂数据类型没有wrappers,所以这就是接受String(和其他标量)的原因

您有两种选择:

  1. 改变露天代码,它包装对象并将它们发送到processTemplate()并构建整个系统(可以在my older blogpost找到更多信息)

  2. 将一个数组放入processTemplate()并在模板中读取它就像一个字符串然后解析它 - 数组看起来像[val1,val2,val3],所以请参考freemarker documentation for string functions并执行类似这样的操作(丑陋但快速的解决方案):

    <#list args.array?split(",") as value>
        hereRemoveFirstAndLastSquareBracketFrom(${value});
    </#list>
    
  3. 编辑:如果有兴趣,我只是在Alfresco JIRA

    中提出了一个错误