如何在FileNet中使用JScript设置StringList类型的属性值
FileNet JScript StringList类型属性赋值实现方案
可以沿用现有字符串赋值的核心逻辑,但不能直接传入JS原生数组。FEM/ACCE中的JScript运行在Rhino Java兼容JS引擎中,复杂类型属性需要传入FileNet Java API对应的实现类实例,而非JS原生类型。
正确实现代码
针对StringList类型的属性,完整可运行的JScript代码如下:
importClass(Packages.com.filenet.api.property.Properties); importClass(Packages.com.filenet.api.constants.RefreshMode); // 引入StringList相关依赖类 importClass(Packages.com.filenet.api.collection.StringList); importClass(Packages.com.filenet.api.core.Factory); function OnCustomProcess (CEObject) { CEObject.refresh(); // 创建空的StringList实例 var customStringList = Factory.StringList.createList(); // 向StringList中添加元素,可按需添加任意数量 customStringList.add("值1"); customStringList.add("值2"); customStringList.add("值3"); // 替换为你实际的StringList类型属性符号名,大小写敏感 CEObject.getProperties().putValue("CustomStringListProp", customStringList); // 原有字符串类型属性赋值逻辑保持不变 CEObject.getProperties().putValue("DocumentTitle", "Test1"); CEObject.save(RefreshMode.REFRESH); }
扩展说明
- 若需要修改已有StringList属性的值而非全量覆盖,可先通过
CEObject.getProperties().getObjectValue("CustomStringListProp")获取已存在的StringList实例,再调用add、remove等方法修改即可 - 其他同类型集合属性(如IntegerList、BooleanList)的赋值逻辑完全一致,仅需要替换对应的集合类和Factory创建方法即可
- 赋值时属性名必须和对象存储中定义的属性符号名完全匹配,大小写敏感
内容的提问来源于stack exchange,提问作者Andrea
相关产品推荐
相关产品推荐

