3.5.1 基本テンプレート

Oracle APEXのテンプレートでは、情報を渡して文字列を別の値に置換するための置換文字列の使用がサポートされています。

3.5.1.1 テンプレート置換の構文

テンプレート内の置換文字列を使用して、コンポーネント値を参照します。

テンプレート置換構文を使用して、情報を渡し、任意の文字列を別の値に置き換えます。特定のテンプレートについてサポートされている最新のリストの置換文字列を表示するには、テンプレート定義を表示し、「置換文字列」レポートを検索します。テンプレート・ページでのテンプレートの表示を参照してください。

次の表に、テンプレート置換構文への2つのアプローチをまとめます。

データ型 説明 Example 結果
プレースホルダ置換

コンポーネント値を参照するには、テンプレート内でプレースホルダ置換文字列構文を使用します。

テンプレート内で使用可能なプレースホルダ置換文字列は、記号(#)で示します。

Hello #NAME#

Hello APEX Community

セッション・ステート置換

セッション・ステート置換文字列構文(&ITEM.構文とも呼ばれる)を使用して、ページまたはアプリケーション・アイテムを参照します:

  • すべて大文字でページまたはアプリケーション・アイテムを参照します
  • アイテム名の先頭にアンパサンド(&)を追加します。
  • 末尾にピリオド(.)を追加します

Hello &NAME.

Hello APEX Community

ヒント:

特殊文字または大/小文字の区別には、二重引用符を使用します。たとえば:

#"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を使用してクライアント側でテンプレートを評価できます。

関連項目:

Oracle APEX JavaScript APIリファレンスapplyTemplate