ホーム > APEX_UTIL > 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のアンパサンドをエスケープする必要があります。PREPARE_URL のコールを含むSVGチャートのSQL問合せでは、このエスケープが必要な場合があります。 |
構文
APEX_UTIL.PREPARE_URL ( p_url IN VARCHAR2, p_url_charset IN VARCHAR2 default null, p_checksum_type IN VARCHAR2 default null) RETURN VARCHAR2;
パラメータ
表「PREPARE_URLパラメータ」に、PREPARE_URLファンクションで使用可能なパラメータを示します。
PREPARE_URLパラメータ
パラメータ | 説明 |
---|---|
p_url |
すべての置換が解決されているf?p相対URL |
p_url_charset |
引数値に含まれている特殊文字をエスケープする場合に使用するキャラクタ・セット名( |
p_checksum type |
NULL、あるいは6つの値( |
例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機能の両方を適用できる場合は、これらの引数を使用できます。