Alfresco ScriptNode函数getAspectsShort缺失/未定义
首先,我运行的是V4.2.e社区版。 我使用以下webscript/free marker模板(ftl)从某个节点检索方面Alfresco ScriptNode函数getAspectsShort缺失/未定义,alfresco,Alfresco,首先,我运行的是V4.2.e社区版。 我使用以下webscript/free marker模板(ftl)从某个节点检索方面 [ <#list node.aspects as aspect> ${jsonUtils.toJSONString(aspect)}<#if aspect_has_next>, </#if> </#list> ] 它工作得很好。它返回类似于: [ "http://www.alfresco.org/mode
[
<#list node.aspects as aspect>
${jsonUtils.toJSONString(aspect)}<#if aspect_has_next>, </#if>
</#list>
]
它工作得很好。它返回类似于:
[
"http://www.alfresco.org/model/content/1.0}titled"
]
但我想:
[
"cm:titled"
]
在下面的ScriptNodeAPI中,我发现了一个类似的函数,名为“getAspectsShort
”:显然,java类中有后端函数:
我的用户尝试以以下方式使用它:
[
<#list node.getAspectsShort as aspect>
${jsonUtils.toJSONString(aspect)}<#if aspect_has_next>, </#if>
</#list>
]
[
${jsonUtils.toJSONString(方面)},
]
并在catalina.out中找到以下消息:
原因:org.alfresco.service.cmr.repository.TemplateException:011933961 Fehler bei der Verarbeitung der MusterVoltage的表达式节点。未在aspe中第2行第12列定义getAspectsShort
ct.get.json.ftl。我是系统管理员。
位于org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:222)
位于org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:896)
位于org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)
位于org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)
... 28多
原因:freemarker.core.InvalidReferenceException:Expression node.getAspectsShort在aspect.get.json.ftl的第2行第12列中未定义。
位于freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)
在freemarker.core.IteratorBlock.accept(IteratorBlock.java:100)中
访问(Environment.java:221)
位于freemarker.core.MixedContent.accept(MixedContent.java:92)
访问(Environment.java:221)
位于freemarker.core.Environment.process(Environment.java:199)
位于org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:218)
... 还有31个
任何帮助都将不胜感激,
Oliver您好,您指的是JavaScript API,但您使用的是Freemarker对象来检索数据。因此,并非所有JavaScript方法都是在Freemarker中实现的 因此,在JavaScript控制器中使用node.aspectsShort并将值传递给模型对象到Freemarker模板 这是网站的参考维基
以及Hi中的引用,您指的是JavaScript API,但您使用的是Freemarker对象来检索数据。因此,并非所有JavaScript方法都是在Freemarker中实现的 因此,在JavaScript控制器中使用node.aspectsShort并将值传递给模型对象到Freemarker模板 这是网站的参考维基 而中的引用可以使用shortQName
${shortQName(jsonUtils.toJSONString(aspect))}
您可以使用shortQName
${shortQName(jsonUtils.toJSONString(aspect))}
你说得对。谢谢它在javascript控制台中也能很好地工作。很酷,如果它能工作,那么请接受答案:)你是对的。谢谢它在javascript控制台中也能很好地工作。很酷,如果它能工作,请接受答案:)