43.91 PREPARE_URLファンクション
PREPARE_URLファンクションは、次の2つの目的で使用されます。
-
必要に応じて、セッション・ステート保護チェックサム引数(& cs=)を含むApplication ExpressナビゲーションURLを返すため。セキュリティのため、指定したアプリケーションが別のワークスペースにある場合、URLにチェックサムは含まれません。
-
セッションIDコンポーネントが0 (ゼロ)に置換されたApplication ExpressナビゲーションURLを返すため(ゼロ・セッションID機能が使用され、他の条件が満たされている場合)
ノート:
PREPARE_URL
ファンクションは、&cs=<large hex value>
が追加されたApplication ExpressナビゲーションURLを返します。この戻り値(JavaScriptなど)を使用する場合は、特定のコンテキストの構文規則に準拠するために、URLのアンパサンドをエスケープする必要がある場合があります。
構文
APEX_UTIL.PREPARE_URL (
p_url IN VARCHAR2,
p_url_charset IN VARCHAR2 default null,
p_checksum_type IN VARCHAR2 default null,
p_triggering_element IN VARCHAR2 default 'this'
p_plain_url IN BOOLEAN default false
RETURN VARCHAR2;
パラメータ
表43-75 PREPARE_URLのパラメータ
パラメータ | 説明 |
---|---|
|
すべての置換が解決されたApplication ExpressナビゲーションURL。 |
|
引数値に含まれている特殊文字をエスケープする場合に使用する文字セット名( |
|
Nullまたは次のいずれかの値。
|
|
ダイアログのトリガーに使用する要素を特定するjQueryセレクタ(たとえば |
|
|
例1
次の例に、PREPARE_URL
ファンクションを使用して、有効なSESSIONレベルのチェックサム引数が指定されたURLを戻す方法を示します。このURLによって、P1_ITEM
ページ・アイテムの値がxyz
に設定されます。
DECLARE
l_url varchar2(2000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
BEGIN
l_url := APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || l_app || ':1:'||l_session||'::NO::P1_ITEM:xyz',
p_checksum_type => 'SESSION');
END;
例2
次の例に、PREPARE_URL
ファンクションを使用して、セッションIDが0 (ゼロ)のURLを戻す方法を示します。f?p
URL (アンカー)を生成する「PL/SQL動的コンテンツ」リージョンでは、PREPARE_URL
をコールして、ゼロ・セッションID機能が使用されている場合、ユーザーが(認証されていない)パブリック・ユーザーの場合およびターゲット・ページがカレント・アプリケーションのパブリック・ページである場合にセッションIDが0 (ゼロ)に設定されることを確認します。
htp.p(APEX_UTIL.PREPARE_URL(p_url => 'f?p=' || :APP_ID || ':10:'|| :APP_SESSION
||'::NO::P10_ITEM:ABC');
この目的でPREPARE_URL
を使用する場合は、p_url_charset
およびp_checksum_type
引数を省略できます。ただし、セッション・ステート保護機能とゼロ・セッションID機能の両方を適用できる場合は、これらの引数を使用できます。
参照:
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのブックマークのサポートの有効化について。
親トピック: APEX_UTIL