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