2

当我们将 dominoDocument 声明为 XPages 数据源时,我们可以通过编程方式指定 documentid。但是,如果指定的 id 不存在,我还没有找到捕获错误的方法。我在日志中收到错误 500 / 无法打开文档错误。

我会期望得到一个空的“document1”或其他东西,但能够很好地捕捉错误。

<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument" documentId="some noteId here" formName="Document" ignoreRequestParams="true">
<xp:this.databaseName>...</xp:this.databaseName>
</xp:dominoDocument>
</xp:this.data>

有什么提示吗?

谢谢

4

1 回答 1

4

您可以将错误处理放在代码中以计算 documentid。

<xp:this.documentId><![CDATA[#{javascript: 
    var id = "your calculated id";
    try {
        database.getDocumentByUNID(id);
    } catch(e) {
        context.redirectToPage("pageError", true);
    }
    return id}]]>
</xp:this.documentId>

就像上面的示例一样,您可以打开例如错误页面。

于 2013-08-29T18:30:35.390 回答