36.91 PREPARE_URLファンクション
PREPARE_URLファンクションは、次の2つの目的で使用されます。
-
「セッション・ステート保護」チェックサム引数(&cs=)が指定されたf?p URLを戻すため(このf?p URLが必要な場合)
-
セッションIDコンポーネントが0 (ゼロ)に置換されたf?p URLを戻すため(ゼロ・セッションID機能が使用され、他の条件が満たされている場合)
注意:
PREPARE_URL
ファンクションは、&cs=<large hex value>
を追加したf?p 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;
パラメータ
表36-75 PREPARE_URLのパラメータ
パラメータ | 説明 |
---|---|
|
すべての置換が解決されているf?p相対URL |
|
引数値に含まれている特殊文字をエスケープする場合に使用するキャラクタ・セット名( |
|
NULL、あるいは6つの値( |
|
ダイアログのトリガーに使用する要素を特定するjQueryセレクタ(たとえば |
|
モーダル・ダイアログを閉じるために生成したJavascriptコードを除外します(該当する場合)。デフォルトでは、このファンクションがモーダル・ダイアログからコールされている場合、モーダル・ダイアログを閉じるためのJavascriptコードは生成したURLに含まれています。 |
例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機能の両方を適用できる場合は、これらの引数を使用できます。
親トピック: APEX_UTIL