如果documentId为空,则创建文档

时间:2016-12-16 11:02:23

标签: xpages

我的Xpage上有一个dominoDocument,如果设置了参数(param.docId),它会从数据库中获取文档。 不幸的是,当documentId结果为空时(param.docId =“”),会创建一个文档。作为匿名我不允许创建文档。因此我得到黄色登录屏幕。

<xp:dominoDocument
    var="contactData" action="openDocument">
    <xp:this.databaseName><![CDATA[#{javascript:var dbEntryConfig:DatabaseEntry=getDatabase()}]]></xp:this.databaseName>
<xp:this.documentId><![CDATA[#{javascript:var docId = param.docId;
    if(docId != null){
        contactSaveData.replaceItemValue("contactDataDocId",docId);
    }else{
        docId = contactSaveData.getItemValueString("contactDataDocId");
    }
    return docId;}]]>
</xp:this.documentId>
</xp:dominoDocument>

有没有办法阻止创建文档?

1 个答案:

答案 0 :(得分:1)

默认情况下,所有dominoDocument数据源都将从URL参数中提取其设置。如果您要设置documentId,则需要设置ignoreRequestParams="true",否则网址中的任何内容都将覆盖您在此处定义的内容。此外,这将确保无法通过修改网址来覆盖action="openDocument"

同时检查页面上的任何保存按钮。如果它有save="true",则表示&#34;保存所有数据源&#34;。如果没有ignoreRequestParams="true",它也可能会保存此数据源。 &#34;保存数据源&#34;简单操作还会保存页面上的所有数据源。