2

dominoDocument を XPages データソースとして宣言すると、documentid をプログラムで指定できます。ただし、指定された ID が存在しない場合にエラーをトラップする方法が見つかりませんでした。ログにエラー 500 / Could not open document エラーが表示されます。

nullの「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 に答える