1

我正在做这样的事情:

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 允许的节点属性值”和类似的查询没有给我任何东西。

4

1 回答 1

2

为了获取此类信息,您必须使用DictionaryService来获取PropertyDefinition

在我的脑海中,你会想要做这样的事情:

QName customPropertyQ = QName.createQName("my:customProperty", namespaceService);
PropertyDefinition customPropertyT = dictionaryService.getProperty(customPropertyQ);
List allowedValues = customPropertyT.getConstraints();

那将是在 Java 中,有关如何从 JavaScript 使用 DictionaryService 的详细信息,请参阅此博客文章

于 2013-06-12T16:12:02.330 回答