我正在做这样的事情:
document.properties["my:customProperty"] = getSomehowTheProperty(document);
my:customProperty
是一个字符串,在内容模型中有一些允许的值。
如何从内容模型中获取允许的值,以便我不必将它们存储在脚本内的JavaScript数组中?
或者我如何检查函数getSomehowTheProperty
是否返回了允许的值?
我尝试用try-catch包装它:
try {
document.properties["my:customProperty"] = getSomehowTheProperty(document);
document.save();
} catch (e) {
document.properties["my:customProperty"] = "Default Value";
document.save();
}
但看起来完整性被检查并且在执行脚本结束时抛出错误,而不是在try块内。
谷歌搜索“alfresco js允许节点属性的值”和类似的查询没有给我任何东西。
答案 0 :(得分:2)
为了获得这类信息,您必须使用DictionaryService获取PropertyDefinition
在我的头顶,你会想做类似的事情:
QName customPropertyQ = QName.createQName("my:customProperty", namespaceService);
PropertyDefinition customPropertyT = dictionaryService.getProperty(customPropertyQ);
List allowedValues = customPropertyT.getConstraints();
这是Java版本,有关如何使用JavaScript中的DictionaryService的详细信息,请参阅this blog post