Oracle ADFが提供するデータ・コントロールには、多くのソースに基づくものがあります。このチュートリアルでは、Java Beanクラスに基づくデータ・コントロールを作成して使用します。ウィザードを使用して、アプリケーションとプロジェクト、空白のJSFページを素早く作成します。簡単なBeanオブジェクトを作成するには、初期Javaクラスを生成してからソース・エディタを使用して、2つのStringプロパティと、getterメソッドおよびsetterメソッドをプロパティに追加します。その後、サービスBeanを作成して、名前と電子メール・アドレスのリストを返すビジネス・メソッドを追加します。
次に、サービスBeanからデータ・コントロールを生成します。生成後、Data Controlsパネルからオブジェクトをドラッグして、2つの簡単なデータバインド・ページを設計します。最初のページには、名前と電子メール・アドレスが表形式で表示されます。2つ目のページでは、エンドユーザーは名前の一部をフィールドに入力し、ボタンをクリックして、入力した値に一致する部分を含む名前のリストを表示できます。ページをテスト実行すると、ブラウザ内に次のような最初のページが表示されます。
目的 | 所要時間 | アプリケーション |
---|---|---|
このチュートリアルでは、JavaBeansとOracle ADF Facesを使用して、簡単なデータバインド・アプリケーションを作成する方法について説明します。これから作成するアプリケーションの完成版を確認するには、「Download」ボタンをクリックして、最終的なアプリケーションのzipファイルをダウンロードし、JDeveloperのmyworkフォルダに解凍してください。 | 40分 |
-
メイン・メニューから「File」→「New」→「From Gallery」を選択します。New Galleryで、「General」カテゴリを開き、「Applications」を選択します。Itemsリストで「Custom Application」を選択し、「OK」をクリックします。
-
アプリケーション名としてDataBoundAppと入力し、「Next」をクリックします。
-
プロジェクト名としてModelと入力し、「Finish」をクリックします。
アプリケーション・ナビゲータのProjectsパネルは、次のようになります。
JDeveloperアプリケーションは、組織構造の最上位レベルです。アプリケーションの開発中に、操作しているオブジェクトの情報がここに格納されます。同時に、プロジェクトとすべての環境設定が追跡記録されます。
JDeveloperアプリケーションでは、作成するアプリケーションのタイプ(WebアプリケーションやJavaアプリケーションなど)に応じて、あらかじめ構築されたテンプレートに基づいて、事前定義された環境のタイプを指定できます。アプリケーション・テンプレートには適切な機能の組合せが事前に指定されているため、標準アプリケーションのプロジェクト構造を素早く作成できます。また、使用している機能に合った選択肢のみが使用できるように、JDeveloperで実行する処理がアプリケーション・テンプレートによりフィルタリングされます。
このチュートリアルでは、Custom Applicationテンプレートを使用します。このテンプレートでは、1つのプロジェクトでJDeveloperがサポートするすべての機能に関連するオブジェクトを使用できます。
適切なテンプレートを使用してアプリケーションを作成した後も、新しいプロジェクトをアプリケーションに追加し、使用できるようにする機能を指定できます。これを実行するには、アプリケーション・ナビゲータでアプリケーション名を右クリックして、「New Project」を選択します。New Galleryでは、Itemsリストから任意のタイプのプロジェクトを選択できます。
初期プロジェクト構造(アプリケーションの作業領域内の名前付きプロジェクト・フォルダ)および追加されるアプリケーション・ライブラリは、選択したアプリケーション・テンプレートによって決まります。関連する機能は、アプリケーション内のプロジェクトで定義します。
JDeveloperプロジェクトは、関連するファイルを論理的にグループ化するときに使用します。ここでは、ソース・ファイル、パッケージ、クラス、イメージ、およびプログラムで必要になるその他の要素が管理されます。プロジェクトでは、プログラムのコンパイル時や実行時に使用するソース・パスや出力パスなどの環境変数を管理します。また、プロジェクトには、コンパイラ、ランタイム、デバッグに関するオプションが用意されており、プロジェクトごとにこれらのツールの動作をカスタマイズできます。
ソース・コードのアクセス、変更、再利用を簡単にするために、複数のプロジェクトをアプリケーションに追加できます。それぞれのプロジェクトに含まれるファイルは、たとえば多層アプリケーションにおける各層に相当する場合もあれば、複雑なアプリケーションにおける各サブシステムに相当する場合もあります。これらのファイルはどのディレクトリに配置されていても、1つのプロジェクトに含めることができます。
テンプレートから作成された新規アプリケーションは、プロジェクト階層に分割されてアプリケーション・ナビゲータに表示されます。各プロジェクトには関連する機能が設定されています。アプリケーション・ナビゲータでは、プロジェクトは階層内の最上位レベルとして表示されます。アプリケーションで使用したCustom Applicationテンプレートによって、1つのプロジェクトが作成されています。このプロジェクトには、デフォルトのプロジェクト名または事前に入力されたプロジェクト名が指定されています。
アプリケーション・ナビゲータのパネルはいずれも開閉できます。2つのパネルの間のスプリッタをドラッグすれば、パネルのサイズを調整できます。Projectsパネルで項目のグループ化やソートを行う場合は、「」Navigator Display Optionsドロップダウン・メニューを使用します。アプリケーションを操作するには、「」Application Menuをクリックして、ドロップダウン・メニューからオプションを選択します。
JDeveloperには多種多様なファイル・タイプを識別する機能が備わっており、アプリケーション・ナビゲータでファイルをダブルクリックすると、適切なビューアまたはエディタでファイルが表示されます。アプリケーションまたはプロジェクトを終了すると、そのアプリケーションまたはプロジェクトのファイルを表示していたすべてのエディタまたはビューアが閉じられ、メモリからファイルがアンロードされます。
注:アプリケーション・ナビゲータのイタリック体のノードは、これらの要素が保存されていないことを示しています。プロジェクトに含まれるファイルが選択されている場合、プロジェクト・ノードは太字で表示されます。
メイン・メニューから「Application」→「Show Overview」を選択します。エディタ・ウィンドウ領域にApplication Overviewウィンドウが開きます。
Application Overviewのファイル概要ページには、JDeveloper内で作成されるすべてのオブジェクトがオブジェクト・タイプごとに分類されて表示されます。新規作成したファイルとアーチファクトは、ステータスやプロジェクトでフィルタして表示できます。
Application Overviewウィンドウは、このアプリケーションのオブジェクトを作成する際には使用しないので、任意で閉じることができます。
-
先ほど作成したプロジェクトをアプリケーション・ナビゲータで右クリックし、「New」→「From Gallery」の順に選択します。New Galleryで、「General」→「Java」→「Class」の順に選択し、「OK」をクリックします。
-
Create Java Classダイアログで、クラス名にContactと入力し、パッケージ名にacme.beanと入力します。デフォルト値のまま、「OK」をクリックします。
-
ソース・エディタで、2つのプライベート変数の宣言を追加します。宣言は、生成された次のコードのすぐ後に追加する必要があります。
public Contact() {
super();
}
次のコードを使用して2つの変数を追加します。 -
エディタでファイルを右クリックし、「Generate Accessors」を選択します。
-
Javaコード・インサイト(コンプリーション・インサイトのJava固有の実装)
-
一般的な問題を修正するコード・アシスト
-
インポート文の支援およびソート
-
自動ドキュメント・コメント・テンプレート
-
Structureウィンドウのカスタマイズ可能なソートおよび展開
-
構文エラーおよびセマンティック・エラーの明確なハイライト
-
カスタマイズ可能なコード・セパレータ
-
Generate Accessorsダイアログで「Contact」を選択します。Scopeドロップダウン・リストでpublicが選択されていることを確認し、「OK」をクリックします。
-
ソース・エディタで、引数として渡された値を使用して、新しいオブジェクトをインスタンス化するコンストラクタを追加します。
生成されたメソッドの後に、
public String getEmail() {
return email;
}
次のメソッドを追加します。 -
「」Save Allをクリックして作業内容を保存します。
アプリケーション・ナビゲータでは、Application Sourcesフォルダの下のacme.beanパッケージにContact.javaが表示されます。
private String email;
ソース・エディタで、編集中に使用できる他の機能には次のものがあります。
これらの機能の詳細を参照するには、ソース・エディタで[F1]を押します。
this.name = name;
this.email = email;
}
エディタ・ウィンドウ上部にある各タブは、ドキュメント・タブです。
ドキュメント・タブを選択するとそのファイルにフォーカスが移り、現在のエディタ内ウィンドウの前面にファイルが表示されます。特定のファイルをエディタ・ウィンドウで開いたときに表示されるウィンドウ下部の各タブは、エディタ・タブです。エディタ・タブを選択すると、そのエディタまたはビューア内でファイルが開きます。
-
アプリケーション・ナビゲータで「Model」プロジェクトを右クリックし、「New」→「Java Class」の順に選択します。
-
Create Java Classダイアログで、クラス名にAddressBookと入力します。acme.beanというパッケージ名、その他のデフォルト値を受け入れ、「OK」をクリックします。
-
ソース・エディタで、コードを追加してJavaコレクション・クラスを作成します。
次の最初の行の後に、
package acme.bean;
生成されたすべてのコードを削除し、次のコードに置き換えます。 -
「」Save Allをクリックして作業内容を保存します。
import java.util.List;
import java.util.regex.Pattern;
public class AddressBook {
// Return all contacts
List<Contact> contacts = new ArrayList();
public List<Contact> findAllContacts() {
return contacts;
}
// Return all contacts matching name (case-insensitive)
public List<Contact> findContactsByName(String name) {
String namePattern = ".*"+ (name != null ? name.toUpperCase() :"") + ".*";
List<Contact> matches = new ArrayList();
for (Contact c : contacts) {
if (Pattern.matches(namePattern, c.getName().toUpperCase())) {
matches.add(c);
}
}
return matches;
}
public AddressBook() {
contacts.add(new Contact("Gary", "gary@acme.org"));
contacts.add(new Contact("Charles", "cyoung@acme.org"));
contacts.add(new Contact("Karl", "kheint@acme.org"));
contacts.add(new Contact("Jeff", "jeff@acme.org"));
contacts.add(new Contact("Yvonne", "yvonne_yvonne@acme.org"));
contacts.add(new Contact("Sung", "superstar001@acme.org"));
contacts.add(new Contact("Shailyn", "spatellina@acme.org"));
contacts.add(new Contact("John", "jjb@acme.org"));
contacts.add(new Contact("Ricky", "rmartz@acme.org"));
contacts.add(new Contact("Shaoling", "shaoling@acme.org"));
contacts.add(new Contact("Olga", "olga077@acme.org"));
contacts.add(new Contact("Ron", "regert@acme.org"));
contacts.add(new Contact("Juan", "jperen@acme.org"));
contacts.add(new Contact("Uday", "udaykum@acme.org"));
contacts.add(new Contact("Amin", "amin@acme.org"));
contacts.add(new Contact("Sati", "sparek@acme.org"));
contacts.add(new Contact("Kal", "kalyane.kushnane@acme.org"));
contacts.add(new Contact("Prakash", "prakash01@acme.org"));
}
}
サービス・クラスの作成ステップが完了すると、Application Navigatorの表示は次のようになります。
ビジネス・オブジェクトを公開し、ビジネス・オブジェクトの操作を行うメソッドを提供するJavaBeanはすべて、ビジネス・サービスとして定義されます。ビジネス・サービスの例には、Webサービス、EJB Session Bean、または特定の機能へのインタフェースとして使用されるすべてのJavaクラスがあります。この例のAddressBookサービス・クラスは、連絡先の集合を返します。
-
アプリケーション・ナビゲータで「AddressBook.java」を右クリックし、「Create Data Control」を選択します。
-
JavaBeans(TopLink対応オブジェクトを含む)
-
Oracle ADF Business Components
-
EJB Session Bean
-
Webサービス
-
Create Bean Data Controlダイアログで「Next」をクリックし、デフォルト値はそのままにして「Finish」をクリックします。
プロジェクトにデータ・コントロール定義ファイル(DataControls.dcx)が追加され、概要エディタでファイルが開きます。 -
アプリケーション・ナビゲータで、「Data Controls」パネルを開き、「AddressBook」を開きます。
作成したデータ・コントロールが表示されない場合は、パネル・ツールバーの「」Refreshをクリックします。 -
モデル・プロジェクトでデータ・コントロールに登録したビジネス・サービス。Data Controlsパネルには、登録した各ビジネス・サービスの個別のルート・ノードが表示されます。
-
Beanのデータ・コントロールを作成する際に生成されるBean設計時の記述定義ファイル。Bean定義ファイルは、Beanのプロパティ・アクセッサとメソッドを各種カテゴリに分類します。
Oracle ADFデータ・コントロールは、ビジネス・サービスのデータ・モデルを抽象化して、ADFバインディング・レイヤーからサービス・レイヤーへのアクセスを提供します。ユーザー・インタフェースを設計する際、Oracle ADFデータ・コントロールによって、コードを作成せずにページUIコンポーネントをデータにバインドできます。
Oracle ADFデータ・コントロールにより、クライアントとWebアプリケーション・コントローラは一貫性のあるメカニズムを使用して、次のデータ提供テクノロジーで定義されたデータとアクションにアクセスできます。
JavaBeansテクノロジーをビジネス・サービス・テクノロジーとして使用する場合、モデル情報は、オラクル独自のアダプタ・クラス(シン)によって実装されるOracle ADFデータ・コントロール・インタフェースを介して、ビュー・レイヤーおよびコントローラ・レイヤーに公開されます。
DCX定義ファイルは、クライアントと利用可能なビジネス・サービス間のやり取りを可能にするOracle ADFモデル・レイヤーのアダプタ・クラスを識別します。
プロジェクトごとに1つのDCXファイルがあり、このファイルはデータ・コントロールをビジネス・サービスに初めて登録するときに作成されます。DCXファイルは"目次"の役割を果たし、プロジェクトのすべてのデータ・コントロールをリストします。DCXは、プロジェクトにあるすべての利用可能なサービス・クラスから、データ・バインド・オブジェクトとして利用できるように設計時に要求したクラスを登録します。
展開すると、AddressBookノードにビジネス・サービスの構造が表示されます。AddressBookデータ・コントロール・ノード自体はユーザーが使用できる項目ではありませんが、表示されているサポート対象オブジェクトから選択できます。
ビジネス・サービスの階層構造は、以下によって決定されます。
-
メイン・メニューから「File」→「New」→「Project」を選択します。New Galleryで、「General」→「Projects」→「Custom Project」の順に選択し、「OK」をクリックします。
-
プロジェクト名にViewと入力します。次に、Availableリストから「ADF Faces」を選択し、「」を選択してSelectedリストに移動し、「Finish」をクリックします。
-
アプリケーション・ナビゲータで「View」プロジェクトを右クリックし、「New」→「Page」の順に選択します。
-
Create JSF Pageダイアログで、ファイル名としてContactList.jsfを入力します。ドキュメント・タイプとしてFaceletsが選択されていることを確認します。
-
New Gallery
-
JSFナビゲーション・ダイアグラマ
-
Oracle ADFタスク・フロー・ダイアグラマ(JDeveloperのStudio Editionでのみ使用可能)
-
Page Layoutタブで「Blank Page」を選択します。Managed Beanタブで、「Do Not Automatically Expose UI Components in a Managed Bean」を選択します。「OK」をクリックして、ページを作成します。
-
コンポーネント・パレットのADF FacesページのLayoutパネルで、「」Panel Stretch Layoutをドラッグして、ビジュアル・エディタの空白ページにドロップします。
ビジュアル・エディタにコンポーネントをドラッグすると、Formという名前の長方形の領域が表示されます。これは、今ドラッグしているコンポーネントがそのターゲット・コンポーネント内に挿入されることを意味しています。
-
「」Save Allをクリックして作業内容を保存します。
-
Web Contentフォルダ:作成したページ、およびアプリケーションのクライアント・ブラウザに表示される必要があるその他のファイル(スタイルシート・ファイルや画像など)が格納されます。
-
/WEB-INF/フォルダ:必要なWebアプリケーション・デプロイメント・ディスクリプタ(web.xml)とJSF構成ファイル(faces-config.xml)が格納されます。
-
web.xmlファイル:アプリケーションのWebアプリケーション・デプロイメント・ディスクリプタです。これは、アプリケーションの構成コンポーネントを記述したXMLファイルです。初期化パラメータと、サーバーによって実施されるコンテナ管理のセキュリティ制約も、このファイルに記述されています。
-
faces-config.xmlファイル:バリデータ、コンバータ、マネージドBean、ナビゲーション・ルールといった、JSFアプリケーションの構成リソースを登録する場所です。
-
trinidad-config.xmlファイル:スキン・ファミリーやページ・アクセシビリティ・サポートのレベルといったOracle ADF Faces機能を構成するファイルです。
プロジェクト用の機能を選択すると、New Galleryによって提示される選択肢をフィルタで選別することが可能になり、実行している作業の種類に適した選択肢だけを表示できます。
機能はプロジェクトごとに設定されます。機能は作業を支援する目的でJDeveloperの中だけで使用されるので、プロジェクト自体のデータに影響を与えることはありません。Oracle ADF Facesを追加すると、必要な関連機能がSelectedペインに自動的に伝播されます。
アプリケーション・ナビゲータにViewプロジェクトが表示されます。
JavaServer Facesを使用するアプリケーション向けに作成するJSFページには、Faceletsドキュメント(ファイル拡張子は.jsf)、またはXML構文で記述されたJSPドキュメント(ファイル拡張子は.jspx)を使用できます。
どちらのJSFページもCreate JSF Pageダイアログを使用して作成できます。次のいずれかの方法でJSFページを開きます。
デフォルトでは、ビジュアル・エディタに新しいJSF Faceletsページが表示されます。
ページ・コードを表示するには、「Source」タブをクリックしてビジュアル・エディタからXMLエディタに切り替えます。たとえば、新規ページには次のコードが生成されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:document title="ContactList.jsf" id="d1">
<af:form id="f1"></af:form>
</af:document>
</f:view>
プロジェクト内で、Java EE Webモジュール・ディレクトリ構造に準拠するフォルダとファイルは次のとおりです。
-
Data Controlsパネルで、「AddressBook」を展開してから、「findAllContacts()」を展開します。
-
「Contact」をクリックして、ビジュアル・エディタのページのcenterファセットにドラッグします。Createコンテキスト・メニューから、「Table」→「Table」を選択します。
-
Edit Table Columnsダイアログで、「Enable Sorting」と「Read-Only Table」を選択し、「OK」をクリックして表を作成します。
ビジュアル・エディタには次のようなページが表示されます。
-
<af:messages>:ユーザーに重要なメッセージ情報を提供するためにアプリケーション・ページ上部で使用されます。
-
<af:table>:表データを表示するために使用されます。
-
<af:column>:表内で個々の列を作成するために使用されます。
-
<af:outputText>:書式設定されたテキストをサポートします。
-
アプリケーション・ナビゲータで「ContactList.jsf」を右クリックし、「Run」を選択します。
Create Default Domainダイアログが表示されたら、PasswordフィールドとConfirm Passwordフィールドにデフォルト・パスワード(例:weblogic1)を入力し、「OK」をクリックします。
次のようなページがブラウザに表示されます。
Data Controlsパネルからコンポーネントを挿入すると、EL(式言語)構文を使用することで、新しいOracle ADFバインディングがページのUIモデルで定義され、挿入されたコンポーネントには、Oracle ADFバインディングへの参照が含まれます。
Data Controlsパネルにより、Webページまたはクライアント・ドキュメントに生成されるコード、および作成されるバインディングは、ビジュアル・エディタに表示されるドキュメントのタイプ、およびユーザーが選択して、オープン・ドキュメントにドロップするビジネス・サービスとビジュアル要素の組合せによって決まります。
Contactツリー・バインディング・オブジェクトは、イテレータ・バインディング・オブジェクトfindAllContactsIteratorを使用して値を取得します。イテレータは、AddressBookデータ・コントロールのメソッドfindAllContacts()にアクセスして、集合を返します。
Data Controlsパネルを使用してデータバインド表を作成すると、JDeveloperによって、次のOracle ADF Facesタグがページに追加されます。
典型的なOracle ADFデータ・バインディングのEL式は次の構文を使用して、バインディング・コンテナの各種バインディング・オブジェクトのタイプのいずれかを参照します。
#{bindings.BindingObject.propertyName}
ここで、bindingsは、式によって参照されるバインディング・オブジェクトが現在のページのバインディング・コンテナ内にあることを特定する変数です。Oracle ADFデータ・バインディングのEL式はすべて、bindings変数で始める必要があります。
注:また、data.<PageDefName>.<binding>を使用して、バインディングを参照することもできます。bindings.の表記は、ページ上のバインディングを参照するためのショートカットです。
実行時にEL式が評価されて、値がバインディング・オブジェクトから引き出され、ページが表示されるときにコンポーネントにデータが移入されます。
たとえば、データバインド表の第1列を考えてみてください。第1列のheaderText属性にはバインディング式#{bindings.Contact.hints.name.label}があり、実行時にnameという列見出しが表に作成されます。
-
エディタ・ウィンドウで、「DataControls.dcx」タブをクリックして、DCX概要エディタを前面に表示します。
DCXファイルがまだ開いていない場合は、アプリケーション・ナビゲータのModelプロジェクトの「DataControls.dcx」をダブルクリックして、ファイルを開きます。
-
「AddressBook」→「findAllContacts()」と展開します。次に、「Contact」を選択し、「」Editをクリックして、概要エディタを別に開きます。
-
Contact.xml概要エディタで、左側の「Attributes」をクリックします。
-
Attributes表でnameを選択した状態で、「UI Hints」タブをクリックします。次に、LabelフィールドにContact Nameと入力します。
-
Display Hint:属性の表示/非表示を決定します。
-
Label:データ項目の値の前に表示されるプロンプトまたは表見出しで使用されるテキストです。
-
Tooltip:ツールチップまたはフライオーバー・テキストで使用されるテキストです。Webアプリケーションでは、HTML ALT属性の値として表示されます。
-
Format Type:データ項目が表示されるときに使用されるフォーマッタを定義します。フォーマッタは基本的に、<JDeveloper_Install>/jdeveloper/systemn.n.n.../o.BC4J/formatinfo.xmlファイルで定義できるフォーマット・マスクの集合です。
-
Format:選択したフォーマッタで使用される特定のフォーマット・マスクです。
-
Control Type:クライアントUIでデータ項目を表示するために使用されるコントロール・タイプです。Editはコントロールを編集可能にし、Dateはカレンダ・ピッカーを表示し、Defaultは、もっとも適切なコントロールを選択するためにクライアントによって解析されます。
-
Display Width:データ項目を表示するコントロールの文字幅を定義します。
-
Display Height:データ項目を表示するコントロールの文字の行数を定義します。
-
Form Type:属性をDetailモードまたはSummaryモードで表示するかを決定します。Detailモードでは長いフォームが、Summaryモードでは短いフォームが生成されます。このプロパティはOracle ADF Swingアプリケーションのみでサポートされ、Oracle ADF Business Components Webアプリケーションでは利用できません。
-
Field Order:カテゴリ内で属性のレンダリングを実行する順序を定義します。
-
Category:属性をグループ化して表示するために、動的なレンダリング・ユーザー・インタフェースによって使用される識別子です。このユーザー・インタフェースにより、属性は同じカテゴリの他の属性とともにレンダリングされます。カテゴリ・ヒントを使用すると、ユーザー・インタフェースで、大規模リストのビュー・オブジェクト属性をカテゴリ別に小さいグループに分けることができます。このコントロール・ヒントは、属性を表示するすべての動的なレンダリング・ユーザー・インタフェースによって利用されます。
-
Auto Submit:true(有効)に設定すると、ユーザー・インタフェースで値が変更されたときに、部分的な送信をトリガーします。
-
この手順を繰り返して、ラベル・テキストEmail Addressを使って、属性emailのラベルを追加します。
-
アプリケーション・ナビゲータで「ContactList.jsf」を右クリックし、「Run」を選択します。
ブラウザのページに新しいラベルが表示されます。
Oracle ADFコントロール・ヒント・メカニズムは、カスタマイズ可能な次のコントロール・ヒント・プロパティをサポートします。
設定するコントロール・ヒントの値を定義するファイルは、プロジェクトで使用される特定のビジネス・サービスによって決まります。Beanベースのビジネス・サービス(JavaBeans、Enterprise JavaBeans、Oracle TopLinkを含む)の場合、デフォルトにより、プロジェクトのテキスト・リソース用の標準.propertiesファイルが生成され、コントロール・ヒント定義は変換可能な文字列として保存されます。
アプリケーション・ナビゲータでは、ファイルModelBundle.propertiesがmodelパッケージのModelプロジェクトに追加されています。
コントロール・ヒントを保存するためにJDeveloperによって使用されるプロジェクト・レベルのリソース・バンドル・オプションは、Project PropertiesダイアログのResource Bundleページによって決まります。デフォルトでは、Resource Bundle TypeオプションはProperties Bundleに設定されて、.propertiesファイルが生成されます。
プロジェクトでコントロール・ヒントを初めてカスタマイズすると、ModelBundle.propertiesファイルが作成されます。ModelBundle.propertiesファイルには、追加したコントロール・ヒント定義の変換可能なキー文字列が含まれています。たとえば、ソース・エディタでModelBundle.propertiesを開くと、変換可能な文字列を識別する次のコードが表示されます。
#
acme.bean.Contact.name_LABEL=Contact Name
-
アプリケーション・ナビゲータで「View」プロジェクトを右クリックし、「New」→「Page」の順に選択します。
-
Create JSF Pageダイアログで、ファイル名としてContactLookup.jsfを入力します。ドキュメント・タイプとしてFaceletsが選択されていることを確認します。
-
Page Layoutページで「Create Blank Page」を選択し、Managed Beanタブで「Do Not Automatically Expose UI Components in a Managed Bean」を選択します。「OK」をクリックして、ページを作成します。
-
コンポーネント・パレットのADF FacesページのLayoutパネルで、「」Decorative Boxをドラッグして、ビジュアル・エディタの空白ページにドロップします。
-
Data Controlsパネルで、パネル・ツールバー上の「」Refreshをクリックして、「AddressBook」を展開し、次に、「findContactsByName(String)」を展開します。
-
「Contact」をビジュアル・エディタのページのcenterファセットにドラッグします。Createコンテキスト・メニューから、「Table/List View」→「ADF Table」を選択します。Create Tableダイアログで「Enable Sorting」と「Read-Only Table」を選択します。その他のデフォルト値はそのままにして、「OK」をクリックします。
-
Edit Action Bindingダイアログで、デフォルト値を受け入れて「OK」をクリックします。
-
コンポーネント・パレットのLayoutパネルで、「」Panel Group Layoutをページ上のtopファセットにドラッグ・アンド・ドロップします。
-
プロパティ・インスペクタのCommonセクションで、Layoutの値をscrollに変更します。
-
コンポーネント・パレットで、別の「」Panel Group Layoutを、先ほど追加したPanel Group Layoutにドラッグ・アンド・ドロップします。プロパティ・インスペクタで、Layoutの値をhorizontalに変更します。
-
Data Controlsパネルで、findContactsByName(String)の下の「Parameters」を展開します。
-
「name」をドラッグして、先ほど追加したパネル・グループ・レイアウト・コンポーネント(水平方向)にドロップします。コンテキスト・メニューから「Text」→「ADF Input Text w/ Label」を選択します。
-
プロパティ・インスペクタのCommonセクションで、デフォルトのLabel値を削除し、Enter part of name:に置き換えて、2つのスペースを追加します。
-
Data Controlsパネルで、「findContactsByName(String)」をドラッグして、Structureウィンドウのaf:panelGroupLayout - horizontalにドロップします。コンテキスト・メニューから「Method」→「ADF Button」を選択します。
-
プロパティ・インスペクタで、デフォルトのText値を削除して、Findに置き換えます。
-
Structureウィンドウで、「af:panelGroupLayout - scroll」を選択します。プロパティ・インスペクタのStyleセクションで、InlineStyleフィールドにpadding:5.0pxと入力します。
ビジュアル・エディタで、ページは次のように表示されます。
-
アプリケーション・ナビゲータで「ContactLookup.jsf」を右クリックし、「Run」を選択します。
次のようなページがブラウザに表示されます。
次に、layout="horizontal"に設定した2つ目のパネル・グループ・レイアウト・コンポーネントを使用して、コンテンツ・コンポーネントを水平方向にレイアウトします。
コントロール・ヒントを使用して、連絡先のemail属性とaddress属性のラベル・テキストをすでに入力してあるため、ModelBundle.propertiesファイルに保存されているラベル・テキストがこの表の列ヘッダーにも適用されます。
- JDeveloperのウィザードおよびダイアログを使用して、アプリケーション、初期ページ、および初期Javaクラスを作成する
- ビジュアル・エディタ、コンポーネント・パレット、プロパティ・インスペクタを使用して、UIページを作成する
- 簡単なJavaBeanオブジェクトからデータ・コントロールを作成する
- Data Controlsパネルを使用して、コードを作成せずに、データバインドUIコンポーネントを作成する
- ビジネス・サービスの中央ロケーションでラベルを設定する
- Integrated WebLogic Serverを使用してOracle ADF Facesアプリケーションを実行する
- Developing Fusion Web Applications with Oracle Application Development Framework
- Creating and Configuring Bean Data Controls
- Developing Applications with Oracle JDeveloper