B ADFデスクトップ統合のEL式

ADFデスクトップ統合のEL式の構文について説明し、EL式の記述に関するガイドラインを提供します。また、EL式での属性コントロール・ヒントの使用方法についても説明します。

この付録の内容は次のとおりです。

EL式を作成するガイドライン

統合Excelワークブックで記述するEL式には、リテラル値、有効なExcel式、バインディング式、コンポーネント式およびリソース・バンドル式を含めることができます。

  • Oracle ADFコンポーネントのプロパティに適した型に正しく評価されるリテラル値。次にいくつかの例を示します。

    • ブール型の値trueおよびfalse

    • -10および100などの整数値

    • hello worldなどの文字列値

  • コントロール・バインディング値またはヒントを評価するバインディング式。たとえば、#{row.bindings.ProductId.inputValue}などです。

  • コンポーネント・プロパティを評価するコンポーネント式。例: #{components.TAB416222534.rowCount}

  • サーバーで定義されたロケール固有リソースを評価するリソース・バンドル式。例: #{res['excel.saveButton.label']}

    サポートされるバインディング式、コンポーネント式およびリソース・バンドル式の構文の詳細は、「ADFデスクトップ統合コンポーネントのEL構文」を参照してください。

  • 有効なExcel式。Excel式の文字列は、文字=で開始する必要があります。リテラル文字列に#{...}式が含まれる場合、最初にADFデスクトップ統合がこの式を評価して、結果の値をExcel式の文字列に挿入します。その後、ExcelがExcel式を評価します。

    EL式を記述する場合、次の点に注意してください。

    • Excel式の要素を#{...}式の中で使用しないでください。

    • EL式はADF構成内で管理されるため、EL式にExcelのセルの参照を含めることはできません。参照されるセルを移動すると、ExcelはADF構成を更新できません。より良い方法は、Excelの数式バーの「Name」ボックスを使用して、名前付きのセルの参照または範囲を定義することです。名前付きセルの参照または名前付きセル範囲の参照は、EL式から参照できます。名前付きセルの参照または範囲の定義の詳細は、Excelのドキュメントを参照してください。

    • EL式を含むExcel式

      EL式を含むExcel式は255文字を超えないようにしてください。これはコンポーネントのプロパティに条件値を設定するのに使用される式にも適用されます。

ADFデスクトップ統合コンポーネントのEL構文

EL式をサポートするADFデスクトップ統合コンポーネントでサポートされる式のプロパティを示します。

これらのプロパティを参照するために、EL式では次の構文を使用します。

#{components.componentID.property}

componentIDはコンポーネントのIDを参照し、propertyはプロパティ(rowCountなど)を参照します。

表B-1 ADFデスクトップ統合コンポーネントの式のプロパティ

プロパティ コンポーネント・タイプ プロパティの型 予期される実行時の値 設計時の値

rowCount

読取り専用表

Int

>=0

0

currentRowIndex

読取り専用表

Int

>= 0 AND < RowCount(ゼロ・ベースのインデックス)

-1

currentRowMode

String

"insert"

"update"

"unknown"

readOnly

Table.Column

Boolean

True

False

False

取得するものに応じて、次の構文を使用してEL式を記述します。

表B-2に、Oracle ADFコントロール・バインディングでサポートされる構文とプロパティを示します。ADFデスクトップ統合でサポートされる属性コントロール・ヒント(controlHint)の詳細は、表B-3を参照してください。

表B-2に示すEL式の一部は、「式ビルダーの使用」で説明している式ビルダーを使用して生成できます。

表B-2 Oracle ADFコントロール・バインディングの式のプロパティと構文

構文 コンポーネント・タイプ オブジェクトのプロパティ 設計時の値

式ビルダーを使用し、次の構文でEL式を生成します。

#{bindings.attributeID}
#{bindings.attributeID.label}
#{bindings.attributeID.hints.controlHint}

また、これらのEL式を次のEL式に追加して記述することもできます。

#{bindings.attributeID.inputValue}

属性

属性コントロール・ヒント

""

式ビルダーを使用し、次の構文でEL式を生成します。

#{bindings.ListID}
#{bindings.ListID.label}
#{bindings.ListID.hints.controlHint}

リスト

属性コントロール・ヒント

""

表タイプのコンポーネントの列に対しては、次の構文でEL式を記述します。

#{row.bindings.attributeID.inputValue}

「ADF表コンポーネントへの動的な列の追加」で説明しているように、ADF表コンポーネントに動的な列を追加する場合は、次の構文でEL式を記述します。

#{bindings.TreeID.[TreeNodeID].AttributeNamePrefix*.inputValue}
#{bindings.TreeID.AttributeNamePrefix*.inputValue}
#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.controlHint}
#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.label}

AttributeNamePrefixおよび[TreeNodeID]の値はオプションですが、*は必須です。

Table.Column

inputValue

""

ADFデスクトップ統合の属性コントロール・ヒント

ADFデスクトップ統合は、属性コントロール・ヒントの値を読み取ることができます。ADFデスクトップ統合がFusion Webアプリケーションから属性コントロール・ヒントの値を取得するために使用するEL式を記述します。

表B-2に、実行時に属性コントロール・ヒントの値を取得するEL式の構文を示します。

属性コントロール・ヒントは、Fusion Webアプリケーションで構成します。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』エンティティ・オブジェクトの属性のコントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

表B-3 ADFデスクトップ統合で使用する属性コントロール・ヒント

属性コントロール・ヒント Fusion Webアプリケーションで構成する値

label

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるラベル属性コントロール・ヒントの値を戻します。

updateable

Boolean

関連付けられている属性バインディングが更新可能な場合はtrueを戻します。

readOnly

Boolean

この属性コントロール・ヒントは、ADFデスクトップ統合独自のものです。関連付けられている属性バインディングが更新可能でない場合はtrueを戻します。

EL式のExcel式を評価する際の統合Excelワークブックのパフォーマンスを最適化するには、コンポーネントのReadOnlyプロパティに対して次の構文でEL式を記述する必要があります。

#{bindings.attributeID.hints.readOnly}

次の構文はお薦めしません。

=NOT(#{bindings.attributeID.hints.updateable})

属性コントロール・ヒントのreadOnlyプロパティは、「ADFデスクトップ統合で頻繁に使用するプロパティ」で説明しているADFデスクトップ統合コンポーネントのReadOnlyプロパティとは異なります。

mandatory

Boolean

関連付けられている属性バインディングの値が必須の場合はtrueを戻します。

dataType

String

属性コントロール・ヒントのデータ型を戻します。Fusion Webアプリケーションでは、複雑な名前の様々なデータ型をサポートできます。dataType属性コントロール・ヒントは、EL式の記述を簡略化するためにADFデスクトップ統合に導入されました。これにより、Fusion Webアプリケーションでサポートされるデータ型が、ADFデスクトップ統合でサポートされる次の値にマップされます。

  • string

  • number

  • date

  • boolean

  • other

tooltip

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるツールチップ属性コントロール・ヒントのメッセージ値を戻します。

displayWidth

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるWidth属性コントロール・ヒントの値を戻します。値は幅を文字数で表します。

displayWidthヒントは、表の列のResizeModeSpecifiedWidthに設定されている場合に、その列のWidthプロパティで使用できます。

表示幅の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ビュー基準にユーザー・インタフェース・ヒントを設定して検索フォームをサポートする方法に関する項を参照してください。

ADFデスクトップ統合の属性コントロール・ヒントは、Webアプリケーションのモデル構成で使用できる情報に基づきます。ADFデスクトップ統合では、ビュー・オブジェクトまたはエンティティ・オブジェクトのヒント値がサポートされますが、 ヒント値が実行時に行ごとのレベルで計算される場合は、プログラムによるヒント値のオーバーライドはサポートされません。

ADFデスクトップ統合では、表ELベースのプロパティのカスタム属性プロパティもサポートしています。詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。