0

extlib で動的コンテンツ コントロールを使用しています。このコントロールの優れた機能の 1 つは、次のように、url の documentId からデータ ソースを自動的に接続することです。

"...#content=doc&action=openDocument&documentId=C0282D5F7AF66787C1257ACF0028FD3A"

unid がアプリケーションに存在する場合は、データ ソースをそれに接続します。(ignoreRequestParameters が設定されていない場合)

私の問題は、ドキュメントにフィールドを設定し、一部のユーザーがそれを削除すると、このフィールドに基づいてビューから除外される独自のソフト削除機能を使用していることです。

ただし、dyn コンテンツ コントロールは、ドキュメントがビュー内にあるかどうかを気にしません。ドキュメントがアプリケーションに存在する場合、データ ソースに接続します。

そのため、データ ソースを読み込まず、ドキュメントが論理的に削除された場合にユーザーを別の場所にリダイレクトする方法を見つける必要があります。可能?

注意: unid は URL ハッシュの背後に表示されるため、SSJS を使用してアクセスすることはできません。

//トーマス

4

2 に答える 2

3

ExtLibUtilを使用して documentId にアクセスできます。次に、 dynamicContentコンポーネントのbeforeContentLoadイベントでユーザーをリダイレクトできます。

<xe:this.beforeContentLoad>
   <![CDATA[#{javascript:               
      var noteId = com.ibm.xsp.extlib.util.ExtLibUtil.readParameter(facesContext,"documentId");
      if( noteId === "ABCD" ){
         facesContext.getExternalContext().redirect("http://google.de");
      }
   }]]>
</xe:this.beforeContentLoad>

[ハードコードされたnoteIdを使用する代わりに、softdelete フィールドを検索する必要があります]

于 2012-12-11T10:53:18.737 に答える
2

XPageイベント(などbeforePageLoad)の1つで特定の「ソフト削除」フィールドを確認してcontext.redirectToPage("pagename")から、ユーザーを別のページにリダイレクトするために使用できますか?

于 2012-12-09T12:06:19.797 に答える