求助:Xpages响应文档继承父文档值的代码放置方法与位置
响应文档XPage继承父文档值的代码放置方法
传递父文档标识:在父文档页面的「新建响应文档」按钮里,设置跳转URL为响应文档XPage的地址,同时带上父文档的UNID参数,格式类似:
响应文档XPage的路径?parentId=#{document1.getUniversalID()}页面加载时读取父文档赋值:在响应文档XPage的
beforePageLoad事件中添加以下代码:var parentId = param.get("parentId"); if (parentId) { var parentDoc = database.getDocumentByUNID(parentId); if (parentDoc) { // 示例:将父文档的"ParentField"值赋给当前文档的"ChildField" currentDocument.setValue("ChildField", parentDoc.getItemValueString("ParentField")); // 按需添加更多字段的赋值逻辑 parentDoc.recycle(); } }计算字段直接取值:如果是用计算字段展示继承的值,可直接在该字段的
value属性中写入表达式:var parentId = param.get("parentId"); if (parentId) { var parentDoc = database.getDocumentByUNID(parentId); var inheritValue = parentDoc.getItemValueString("ParentField"); parentDoc.recycle(); return inheritValue; } return "";关键注意点:
- 必须确保参数
parentId正确传递,否则无法找到父文档 - 每次使用完父文档对象后调用
recycle(),避免内存泄漏 - 如果响应文档是基于表单创建,也可以在表单的
QueryOpen事件中实现类似逻辑,但XPage中优先推荐页面事件或字段计算的方式
- 必须确保参数
内容的提问来源于stack exchange,提问作者Lambey
相关产品推荐
相关产品推荐

