3.5.1 基本テンプレート
Oracle APEXのテンプレートでは、情報を渡して文字列を別の値に置換するための置換文字列の使用がサポートされています。
- テンプレート置換構文
テンプレート内の置換文字列を使用して、コンポーネント値を参照します。 - エスケープ・フィルタ
置換値の特殊文字をエスケープする方法について学習します。 - 組込み置換文字列
組込み置換文字列について学習します。 - テキスト・メッセージでの置換(レガシー)
テキスト・メッセージでの置換の使用について学習します。 - テンプレートでのJavaScript
テンプレートでのJavaScriptの使用について学習します。
親トピック: Oracle APEXでのテンプレートの使用方法
3.5.1.1 テンプレート置換の構文
テンプレート内の置換文字列を使用して、コンポーネント値を参照します。
テンプレート置換構文を使用して、情報を渡し、任意の文字列を別の値に置き換えます。特定のテンプレートについてサポートされている最新のリストの置換文字列を表示するには、テンプレート定義を表示し、「置換文字列」レポートを検索します。テンプレート・ページでのテンプレートの表示を参照してください。
次の表に、テンプレート置換構文への2つのアプローチをまとめます。
データ型 | 説明 | Example | 結果 |
---|---|---|---|
プレースホルダ置換 |
コンポーネント値を参照するには、テンプレート内でプレースホルダ置換文字列構文を使用します。 テンプレート内で使用可能なプレースホルダ置換文字列は、記号(#)で示します。 |
|
|
セッション・ステート置換 |
セッション・ステート置換文字列構文(
|
|
|
ヒント:
特殊文字または大/小文字の区別には、二重引用符を使用します。たとえば:
#"Name"#
&"Name".
3.5.1.2 エスケープ・フィルタ
置換値の特殊文字をエスケープする方法について学習します。
ページ名、アプリケーション・アイテム名、レポート列、またはその他の置換文字列に、感嘆符(!)の後に事前定義済のフィルタ名を追加することで、置換値内の特殊文字をエスケープします。出力のエスケープは、ブラウザでクロス・サイト・スクリプティング(XSS)攻撃を回避するための重要なセキュリティ手法です。
エスケープ・フィルタ | 説明 | クラシック構文 | モダン構文 |
---|---|---|---|
ATTR |
ATTR は、HTML属性コンテキスト内の予約文字をエスケープします。
|
#NAME!ATTR# |
&NAME!ATTR. |
HTML |
HTML は、予約済のHTML文字をエスケープします
|
#NAME!HTML# |
&NAME!HTML .
|
JS
|
JS は、JavaScriptのコンテキストで予約済の文字をエスケープします。
|
#NAME!JS# |
&NAME!JS. |
STRIPHTML |
STRIPHTML は、HTMLタグを出力から削除し、予約済のHTML文字をエスケープします
|
#NAME!STRIPHTML# |
&NAME!STRIPHTML. |
RAW |
RAW は、元のアイテム値を保持し、文字をエスケープしません。
|
#NAME!RAW# |
&NAME!RAW. |
関連項目:
置換文字列での出力のエスケープの制御親トピック: 基本テンプレート
3.5.1.3 組込み置換文字列
組込み置換文字列について学習します。
アプリケーション・ビルダーでは、多くの組込み置換文字列がサポートされています。これらの置換文字列を参照して、特定のタイプの機能を実現できます。使用可能なすべての組込み置換文字列の完全なリストを表示するには、組込み置換文字列の使用を参照してください。
親トピック: 基本テンプレート
3.5.1.4 テキスト・メッセージでの置換(レガシー)
テキスト・メッセージでの置換の使用について学習します。
ノート:
このトピックで説明するアプリケーション定義またはシステム定義のテキスト・メッセージは、レガシー機能として指定されています。アプリケーションの互換性モードが24.2以降である場合は、「テキスト・メッセージでの置換(24.2以降)」の説明に従って、メッセージ名を中括弧({})で囲むことをお薦めします。レガシー・アプリケーション・コンポーネントは引き続きOracleでサポートされますが、使用することはお薦めしません。
アプリケーション定義またはシステム定義のテキスト・メッセージにアクセスするには、組込み置換APP_TEXT$Message_Name, APP_TEXT$Message_Name$Lang
を使用します。次に例を示します。
&APP_TEXT$MY_MESSAGE!HTML.
&APP_TEXT$MY_MESSAGE$NL!HTML.
3.5.1.5 テンプレート内のJavaScript
テンプレートでのJavaScriptの使用について学習します。
また、JavaScript API apex.util.applyTemplate
を使用してクライアント側でテンプレートを評価できます。
親トピック: 基本テンプレート