ウィザードを使用して、アプリケーションとプロジェクト、初期XSDドキュメントを素早く作成します。 作成するURLサービス・データ・コントロールは、ライブRSSフィード用です。 データ・コントロールを作成する前に、初期XSDドキュメントにサンプル・コードを追加して、URLサービスのXMLスキーマを定義します。
注:完全なアプリケーションをダウンロードする場合は、
詳細表示 アプリケーションを実行する前に、次の手順を実行してください。
-
JDeveloperでアプリケーションを開きます。 アプリケーション・ナビゲータのModelプロジェクトで、「DataControls.dcx」をダブルクリックしてファイルを開きます。 「Source」をクリックして、XMLエディタを使用します。 SchemaLocation設定を、JDeveloperがインストールされているディレクトリに変更します。
-
「ステップ2:XMLスキーマの作成」のサブステップ2の手順のみを実行します。
メイン・メニューから「File」→「New」を選択します。New Galleryで、「General」カテゴリを開き、「Applications」を選択します。Itemsリストで「Custom Application」を選択し、「OK」をクリックします。
JDeveloperアプリケーションは、組織構造の最上位レベルです。アプリケーションの開発中に、操作しているオブジェクトの情報がここに格納されます。
詳細表示同時に、プロジェクトとすべての環境設定が追跡記録されます。
Oracle JDeveloperアプリケーションでは、作成するアプリケーションのタイプ(WebアプリケーションやJavaアプリケーションなど)に応じて、あらかじめ構築されたテンプレートに基づいて、事前定義された環境のタイプを指定できます。アプリケーション・テンプレートには適切な機能の組合せが事前に指定されているため、標準アプリケーションのプロジェクト構造を素早く作成できます。また、使用している機能に合った選択肢のみが使用できるように、JDeveloperで実行する処理がアプリケーション・テンプレートによりフィルタリングされます。
このチュートリアルでは、Custom Applicationテンプレートを使用します。このテンプレートでは、1つのプロジェクトでJDeveloperがサポートするすべての機能に関連するオブジェクトを使用できます。
適切なテンプレートを使用してアプリケーションを作成した後も、新しいプロジェクトをアプリケーションに追加し、使用できるようにする機能を指定できます。これを実行するには、アプリケーション・ナビゲータでアプリケーション名を右クリックして、「New Project」を選択します。New Galleryでは、Itemsリストから任意のタイプのプロジェクトを選択できます。
この例に合わせるため、アプリケーション名としてURLDataControlAppと入力し、「Next」をクリックします。
初期プロジェクト構造(アプリケーションの作業領域内の名前付きプロジェクト・フォルダ)および追加されるアプリケーション・ライブラリは、選択したアプリケーション・テンプレートによって決まります。
詳細表示関連する機能は、アプリケーション内のプロジェクトで定義します。
JDeveloperプロジェクトは、関連するファイルを論理的にグループ化するときに使用します。ここでは、ソース・ファイル、パッケージ、クラス、イメージ、およびプログラムで必要になるその他の要素が管理されます。プロジェクトでは、プログラムのコンパイル時や実行時に使用するソース・パスや出力パスなどの環境変数を管理します。また、プロジェクトには、コンパイラ、ランタイム、デバッグに関するオプションが用意されており、プロジェクトごとにこれらのツールの動作をカスタマイズできます。
ソース・コードのアクセス、変更、再利用を簡単にするために、複数のプロジェクトをアプリケーションに追加できます。それぞれのプロジェクトに含まれるファイルは、たとえば多層アプリケーションにおける各層に相当する場合もあれば、複雑なアプリケーションにおける各サブシステムに相当する場合もあります。これらのファイルはどのディレクトリに配置されていても、1つのプロジェクトに含めることができます。
プロジェクト名にModelと入力します。

「Finish」をクリックします。
アプリケーション・ナビゲータのProjectsパネルは、次のようになります。

URLサービス・データ・コントロールを作成する前に、使用するURLサービスを決定し、URLサービスのXMLスキーマを定義する必要があります。 ステップに正確に従うことができるように、チュートリアル全体を通じて、手順で示した値を入力してください。 例で使用するURLサービスについて詳しくは、次の情報をお読みください。
この例では、ライブRSSフィードのコンテンツを取得し、データバインドOracle ADF Facesコンポーネントを使用してWebページに表示します。
詳細表示 使用するライブRSSフィードは、Oracle Technology Network(OTN)のWebサイトのJDeveloperページから入手可能なOracle JDeveloper RSSフィードです。
使用しているWebブラウザでOTNのJDeveloperページに移動します。
http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html
移動後、次の手順を実行します。
RSS(Really Simple Syndication)ファイルはXML構文で作成されています。 XMLコンテンツをJDeveloperで解析するには、RSSフィードのXMLスキーマが必要です。
-
メイン・メニューから「Tools」→「Preferences」を選択します。 Preferencesダイアログ左側の「Web Browser and Proxy」をクリックし、右側の「Use HTTP Proxy Server」を選択して、サーバー・プロキシを使用してインターネットにアクセスするようにします。 組織のプロキシ・サーバーのURLまたはDNS名、マシンがプロキシ・サーバーにアクセスするために使用するポート番号を入力します。
外部Webサービスにアクセスするときに、マシンがファイアウォールの内側にある場合は、JDeveloperのプロキシ設定を変更する必要があります。
詳細表示
JDeveloperは、同じマシンのデフォルト・ブラウザのプロキシ設定をデフォルトで使用します。 接続に問題がある場合は、設定を変更する必要があります。
また、JDeveloperは初回起動時に、ブラウザのプロキシ例外セットをデフォルトで選択します。 内部サイトにアクセスできるように、リストを修正して例外をプロキシ・サーバーに追加できます。その際、項目を分けるには、"|"を使用します。
-
XMLスキーマを作成する前に、JDeveloperでHTTP Analyzerを開いて、URLのXMLコンテンツを表示します。 次に、返されたコンテンツのXML要素を使用して、XMLスキーマの構造を定義します。 必要に応じて、このステップの10番目にスキップしてもかまいません。
-
メイン・メニューから「Tools」→「HTTP Analyzer」を選択します。
HTTP Analyzerを使用すると、HTTPリクエスト/レスポンスのパッケージ・ペアのコンテンツを確認できます。
詳細表示
HTTP Analyzerを初めて開くと、HTTP Analyzerのツール・ウィンドウとインスタンス・ウィンドウがデフォルトで表示されます。 新しいリクエストを開始すると、HTTP Analyzerのテスト・ウィンドウがJDeveloperの中央(他のエディタが表示される場所と同じ)に表示されます。
RSSフィード・ページのURLに対してHTTP Analyzerを使用することで、URLのXMLコンテンツを取得し、URLサービスのデータソースが予想どおりに動作しているかも確認できます。
-
HTTP Analyzerのツール・ウィンドウで、「
」Start HTTP Analyzerをクリックします。
-
「
」Create New Requestをクリックして、テスト・ウィンドウを開きます。 HTTP Analyzerのテスト・ウィンドウ下部にある「HTTP Content」をクリックします。
http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/132361.xmlをURLフィールドに入力します。 次に、Methodドロップダウン・リストから「GET」を選択します。

-
「
」Send Requestをクリックします。 Message Content Warningダイアログが表示されたら、「Yes」をクリックします。
Responseペインにニュース・ページのXMLコンテンツが表示されます。

XMLフォームの予測されるレスポンスをもとに、JDeveloper News RSSフィードのXMLスキーマを設計できます。
詳細表示 設計では、レスポンスに表示されるすべての要素(rss、channel、itemなど)を使用します。
RSSフィードのXMLコンテンツからXMLスキーマを作成するには、見つかった一意のXML要素ごとにXSD要素を定義して、必要に応じて、XSD複合型とシーケンス要素で囲みます。
「
」Stopをクリックして、HTTP Analyzerを終了します。 以降、このチュートリアルでは使用しないため、HTTP Analyzerウィンドウを閉じます。
-
アプリケーション・ナビゲータで「Model」プロジェクトを右クリックし、「New」→「General」→「XML」→「XML Schema」の順に選択して、「OK」をクリックします。

-
Create XML Schemaダイアログで、newsrssfeed.xsdというファイル名を入力します。
Directoryフィールドで、Modelの後に\srcと追加します(例:<JDEVELOPER_HOME>\jdeveloper\mywork\URLDataControlApp\Model\src)。「OK」をクリックします。

XSDスキーマ・エディタで、エディタ・ウィンドウの下部にある「Source」をクリックすると、XMLエディタに切り替わります。

XMLスキーマ定義(XSD)とも呼ばれるXMLスキーマ言語は、XMLドキュメントの構造を定義します。
詳細表示
RSSフィードのXMLコンテンツからXMLスキーマを作成するには、見つかった一意のXML要素ごとにXSD要素を定義して、必要に応じて、XSD複合型とシーケンス要素で囲みます。
XMLスキーマの完全な詳細は、
http://www.w3.org/XML/SchemaのW3C XML Schemaページを参照してください。
便宜上、使用するXMLスキーマを用意しています。 サンプル・コードは、コピーしてXMLエディタに貼り付けることができます。
最初の行の後、<xsd:schema>要素全体とその子要素を次のコードに置き換えます。
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.org"
targetNamespace="http://www.example.org"
elementFormDefault="qualified">
<xsd:element name="rss">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="channel" type="channel"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="channel">
<xsd:sequence>
<xsd:element name="lastBuildDate" type="xsd:string"></xsd:element>
<xsd:element name="title" type="xsd:string"></xsd:element>
<xsd:element name="link" type="xsd:string"></xsd:element>
<xsd:element name="description" type="xsd:string"></xsd:element>
<xsd:element name="managingEditor" type="xsd:string"></xsd:element>
<xsd:element name="language" type="xsd:string"></xsd:element>
<xsd:element name="item" type="item" minOccurs="0" maxOccurs="100"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="item">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"></xsd:element>
<xsd:element name="link" type="xsd:string"></xsd:element>
<xsd:element name="description" type="xsd:string"></xsd:element>
<xsd:element name="pubDate" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
「
」Save Allをクリックして作業内容を保存します。
XMLスキーマの作成ステップを完了すると、アプリケーション・ナビゲータのProjectsパネルは次のように表示されます。

作成したXMLスキーマ・ドキュメントの構造、コンテンツ、セマンティックを視覚表示するには、エディタ・ウィンドウの「
Design」をクリックして、XSDスキーマ・エディタに切り替えます。
詳細表示
XSDスキーマ・エディタは以降使用しないため、閉じてもかまいません。
-
アプリケーション・ナビゲータで「Model」プロジェクトを右クリックし、「New」→「Business Tier」→「Web Services」→「URL Service Data Control」の順に選択して、「OK」をクリックします。

URLサービス・データ・コントロールは、URLでアクセス可能なXMLファイルなど、URLサービス用のOracle ADFデータ・コントロールです。
詳細表示 URLデータ・コントロールは、XMLデータおよびスプレッドシート・データ(デリミタで区切られた値)の2つのデータ・ストリーム形式をサポートします。 URLサービス・データ・コントロールを作成することで、アプリケーション内のURLデータ・ストリームにアクセスし、使用することができます。
ウィザードのステップ1のData Sourceで、Newsというデータ・コントロール名を入力します。「Next」をクリックします。

ステップ2のConnectionで、JDevNewsという接続名をNameフィールドに入力します。
URL Endpointフィールドに、ライブRSSフィードへのURLを入力します。
例: http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/132361.xml
Authentication TypeがNoneに、Http MethodがGETになっていることを確認します。 確認したら、「Next」を2回クリックします。

ステップ4のData Formatで、ドロップダウン・リストから「XML」を選択します。
-
XSD URLフィールドに、file:///C:/<JDEVELOPER_HOME>/jdeveloper/mywork/URLDataControlApp/Model/src/newsrssfeed.xsdと入力します。ここで、<JDEVELOPER_HOME>は、JDeveloperインストールの場所を表します。「Next」をクリックします。

JDeveloper RSSフィード・ページはXMLドキュメントなので、URLデータソースの形式にXMLを選択します。
詳細表示
データソースをXMLとしてフォーマットする場合、XSDスキーマ定義を識別するURLを指定する必要があります。 XMLデータ・コントロールがXMLデータ・ストリームの形式を検証するには、XSDスキーマ定義が必要です。
前のステップで、<JDEVELOPER_HOME>/jdeveloper/mywork/URLDataControlApp/Model/srcにXSDスキーマ定義を作成しました。 ローカル・マシン上のXSDスキーマ定義の場所を指定するには、file:///にその場所を接頭辞として付ける必要があります。次に例を示します。
file:///C:JDevInstall/jdeveloper/mywork/URLDataControlApp/Model/src/newsrssfeed.xsd
-
ウィザードのステップ5で、「Test URL Connection」をクリックします。
ダイアログにテキストURL Test:URL Successfulが表示されます。

-
「Finish」をクリックし、次に「
」Save Allをクリックして、作業内容を保存します。
プロジェクトにデータ・コントロール定義ファイル(DataControls.dcx)が追加され、概要エディタでファイルが開きます。

-
アプリケーション・ナビゲータで、「Data Controls」パネルを展開します。
作成したNewsデータ・コントロールが表示され、アプリケーションで利用可能になっています。 作成したデータ・コントロールが表示されない場合は、パネル・ツールバーの「
」Refreshをクリックします。

Modelプロジェクトに追加された新しいファイルは、次のとおりです。
詳細表示
-
DataControls.dcx: "目次"の役割を果たし、プロジェクトのすべてのデータ・コントロールをリストします。 ビジネス・サービスにデータ・コントロールを初めて登録したときに、DCXファイルが作成されます。 DCXファイルには、Session Beanと動作するようデータ・コントロールを初期化するための情報が含まれています。
adfm.xml: アプリケーションに表示されるデータ・コントロールを特定するために、JDeveloperのData Controlsパネルによって使用されるレジストリです。このファイルは、実行時には使用されません。
-
メイン・メニューから、「File」→「New」→「General」→「Projects」→「Custom Project」を選択して、「OK」をクリックします。

プロジェクト名にViewと入力します。 次に、Availableリストから「ADF Faces」を選択し、「
」を選択して、Selectedリストに移動します。

プロジェクト用の機能を選択すると、New Galleryによって提示される選択肢をフィルタで選別することが可能になり、実行している作業の種類に適した選択肢だけを表示できます。
詳細表示機能はプロジェクトごとに設定されます。機能は作業を支援する目的でJDeveloperの中だけで使用されるので、プロジェクト自体のデータに影響を与えることはありません。Oracle ADF Facesを追加すると、必要な関連機能がSelectedペインに自動的に伝播されます。
「Finish」をクリックします。
アプリケーション・ナビゲータにViewプロジェクトが表示されます。

アプリケーション・ナビゲータで「View」プロジェクトを右クリックし、「New」→「Web Tier」→「JSF/Facelets」→「Page」の順に選択して、「OK」をクリックします。

-
Create JSF Pageダイアログで、NewsPage.jsfというファイル名を入力します。ドキュメント・タイプとしてFaceletsが選択されていることを確認します。
JavaServer Facesを使用するアプリケーション向けに作成するJSFページには、Faceletsドキュメント(ファイル拡張子は
.jsf)、またはXML構文で記述されたJSPドキュメント(ファイル拡張子は
.jspx)を使用できます。
詳細表示
どちらのJSFページもCreate JSF Pageダイアログを使用して作成できます。次のいずれかの方法でJSFページを開きます。
Page Layoutページで「Blank Page」を選択します。Managed Beanページで、「Do Not Automatically Expose UI Components in a Managed Bean」を選択します。
Create JSF Pageダイアログでは、新しいページのルック・アンド・フィールの一部を任意で定義でき(
PageLayoutタブ)、また、ページ上のコンポーネントをマネージドBeanで公開するかどうかを指定できます(
Managed Beanタブ)。
詳細表示
デフォルトでは、コンポーネントはマネージドBeanに対して公開されません。コンポーネントをマネージドBeanにバインドする場合は、このダイアログのManaged Beanページでいずれかの自動バインディング・オプションを選択します。自動バインディング・オプションを使用すると、JDeveloperは、新規のJSFページを作成するたびに自動的にバッキングBeanを作成し、ページ内の各UIコンポーネントをバッキングBeanの対応するプロパティに関連付けて、プログラムで操作できるようにします。
ただし、ページにOracle ADFバインディングを追加する場合は、自動バインディング機能を使用しないでください。自動バインディング機能を使用した場合は、Oracle ADFバインディングを追加した後でマネージドBeanバインディングを削除することが必要になります。
「OK」をクリックします。
デフォルトでは、ビジュアル・エディタに新しいJSF Faceletsページが表示されます。
新しいJSFページをFaceletsドキュメント・タイプ(ファイル拡張子は
.jsf)にすると、初期ページ構造が自動的に作成されます。
詳細表示 JSF Coreタグ・ライブラリ用のxmlns属性とADF Facesタグ・ライブラリ用のxmlns属性が1つずつ含まれます。初期ファイルに含まれるその他の要素には、ページのレイアウト用要素、特に<f:view>と</f:view>で囲まれた他のすべての要素が挙げられます。
ページ・コードを表示するには、「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="NewsPage.jsf" id="d1">
<af:form id="f1"></af:form>
</af:document>
</f:view>
コンポーネント・パレットのADF FacesページのLayoutパネルで、「
」Panel Stretch Layoutをドラッグして、ビジュアル・エディタの空白ページにドロップします。
ビジュアル・エディタにコンポーネントをドラッグすると、Formという名前の長方形の領域が表示されます。これは、今ドラッグしているコンポーネントがそのターゲット・コンポーネント内に挿入されることを意味しています。

「
」Save Allをクリックして作業内容を保存します。
JSFページの作成ステップが完了すると、アプリケーション・ナビゲータには
Viewプロジェクトが次のように表示されます。
詳細表示
プロジェクト内で、Java EE Webモジュール・ディレクトリ構造に準拠するフォルダとファイルは次のとおりです。
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機能を構成するファイルです。
Data Controlsパネルで、「News」→「loadData()」→「Return」→「rss」→「channel」の順に展開します。

データ・コントロールはビジネス・サービスを表示したものであり、コレクション、属性、メソッドなど、利用可能なビジネス・オブジェクトの階層表示から成ります。
詳細表示 データバインド・コンポーネントをビジュアル・エディタのJSFページに挿入するには、Data Controlsパネルを使用します。
Data Controlsパネルを使用すると、一連のドラッグ・アンド・ドロップによるUI設計が実現します。パネルからページに選択されたデータ・オブジェクトをドロップすると、使用できるUIコントロールのリストが表示されます。 選択したデータ・オブジェクトの表示に適切なUIコントロールだけがリストに表示されます。
Data Controlsパネルからコンポーネントを挿入すると、選択したデータ・コントロールにコンポーネントをバインドするための各種コードとオブジェクトがJDeveloperによって自動的に作成されます。 新しいOracle ADFバインドがページのUIモデルに定義され、挿入されたコンポーネントには、EL(式言語)構文を使用した、Oracle ADFバインディングへの参照が含まれます。
-
「item」をクリックして、ビジュアル・エディタのページのcenterファセットにドラッグします。Createコンテキスト・メニューから、「Table」→「ADF Read-only Table」を選択します。

-
Edit Table Columnsダイアログで「Enable Sorting」を選択します。

その他のデフォルト値はそのままにして、「OK」をクリックします。
ビジュアル・エディタには次のようなページが表示されます。

Data Controlsパネルを使用してUIコンポーネントを作成すると、選択したデータ・コントロールにコンポーネントをバインドするための各種コードとオブジェクトがJDeveloperによって自動的に作成されます。
詳細表示ページ用に定義されたOracle ADFデータ・バインディングを表示するには、エディタ・ウィンドウ下部の「Bindings」をクリックします。
Data Controlsパネルを使用してデータバインド表を作成すると、JDeveloperによって次のOracle ADF Facesタグがページに追加されます。 <af:messages>:ユーザーに重要なメッセージ情報を提供するためにアプリケーション・ページ上部で使用されます。
<af:table>:表データを表示するために使用されます。
<af:column>:表内で個々の列を作成するために使用されます。
<af:outputText>:書式設定されたテキストをサポートします。
Oracle ADFデータ・バインディングの式は、バインディング・オブジェクトのデータまたは参照プロパティのいずれかを表示する各コンポーネント属性に追加されます。エディタ・ウィンドウの「Source」をクリックすると、コンポーネント属性とOracle ADFデータ・バインディングの式をXMLエディタで確認できます。EL(式言語)を使用するバインディング式は実行時に評価されます。
典型的なOracle ADFデータ・バインディングのEL式は次の構文を使用して、バインディング・コンテナの各種バインディング・オブジェクトのタイプのいずれかを参照します。
#{bindings.BindingObject.propertyName}
ここで、bindingsは、式によって参照されるバインディング・オブジェクトが現在のページのバインディング・コンテナ内にあることを特定する変数です。 Oracle ADFデータ・バインディングのEL式はすべて、bindings変数で始める必要があります。
実行時にEL式が評価されて、値がバインディング・オブジェクトから引き出され、ページが表示されるときにコンポーネントにデータが移入されます。
-
アプリケーション・ナビゲータで「NewsPage.jsf」を右クリックし、「Run」を選択します。
Create Default Domainダイアログが表示されたら、PasswordフィールドとConfirm Passwordフィールドにデフォルト・パスワード(例:weblogic1)を入力し、「OK」をクリックします。
次のようなページがブラウザに表示されます。

デフォルトでJDeveloperは、IDEにバンドルされたOracle WebLogic Serverのユーザー固有のインスタンスを参照する、Integrated WebLogic Serverという名前の統合サーバーを自動的に構成します。
詳細表示Integrated WebLogic Serverは、パッケージ化されたアーカイブ・デプロイメント用のJava EEランタイム・サービスです。ゼロコピー・デプロイメントに基づき、Integrated WebLogic Serverでは、アプリケーションとそのプロジェクトのJava EEアプリケーションとしての実行とテストをJava EEコンテナ内で行えます。Integrated WebLogic Serverの使用に際し、特別な接続設定は必要ありません。アプリケーション全体、プロジェクト、または個別のJSFページを実行できます。
IDEでJSFアプリケーションを実行すると、次の処理が自動的に実行されます。
まだ実行中でない場合は、Integrated WebLogic Serverを起動します。
アプリケーションをコンパイルしてIntegrated WebLogic Serverにデプロイします。
-
次のデフォルトのアドレスを使用して、デフォルトのブラウザ内でアプリケーションを起動します。http://<your_machine_IP_address>:<http_port>/<your_application_name>-<your_project_name>-context-root>/faces/<path_to_the_page>
アプリケーションを終了する場合は、JDeveloperで「
」Terminateをクリックし、ドロップダウン・メニューからアプリケーション・バウンド・インスタンス「URLDataControlApp」を選択します。
注:アプリケーションを終了すると、アプリケーションは停止し、Integrated WebLogic Serverからアンデプロイされますが、Integrated WebLogic Serverは終了されません。
データ・コントロールをJSFページに追加するステップを完了すると、アプリケーション・ナビゲータのViewプロジェクトは次のように表示されます。
ViewプロジェクトのApplication Sourcesフォルダに追加された新しいファイルには、次のものがあります。 NewsPagePageDef.xml:JSFページのページ定義ファイル。 ページ定義ファイルは、実行時にデータをUIコンポーネントに移入するバインディング・オブジェクトを定義します。 ページ定義ファイルで定義されたバインディング・オブジェクトは、バインディング・コンテナでインスタンス化され、ページ定義ファイルのランタイム・インスタンスになります。
DataBindings.cpx: このファイルは、アプリケーション全体のバインディング・コンテキストを定義し、実行時にバインディング・オブジェクトが作成されるメタデータを提供します。 また、個々のページをページ定義ファイルにマッピングして、アプリケーションで使用されるデータ・コントロールを宣言します。
ADF Facesは、多くの便利なコンポーネントをサポートし、プラグインの不要なWebブラウザでの豊富なユーザー・エクスペリエンスを実現します。 ページ・レイアウトを改善するため、表の列幅を広げて、列の1つを削除します。
詳細表示 ユーザー・エクスペリエンスを改善するため、新しいタイトルの列をリンクに変換します。 そうすることで、エンドユーザーはタイトル・テキストをクリックして、新しいトピックを表示できます。
JSP/HTMLビジュアル・エディタは、Structureウィンドウ、コンポーネント・パレット、プロパティ・インスペクタなどのIDEの他のツールと統合します。 これらのツールのいずれかでページを変更すると、その変更は他のツールでも反映されます。
アプリケーション・ナビゲータのViewプロジェクトで、「NewsPage.jsf」を選択します。 Structureウィンドウで、af:tableコンポーネントが表示されるまで、コンポーネントの階層を展開します。
-
af:tableを展開したら、第1列のコンポーネント「af:column - #{bindings.item.hints.title.label}」を展開します。

Data Controlsパネルを使用して、表をJSFページにドロップすると、ADF Faces Tableコンポーネントが挿入されます。
詳細表示 Structureウィンドウに表示されているように、Tableコンポーネントには、表バインディングに表示された各属性のOracle ADF Columnコンポーネントが含まれます。 各Columnコンポーネントには、データを表示するために、属性の値にバインドされた別のコンポーネントが含まれています。
-
コンポーネント・パレットのADF FacesページのGeneral Controlsパネルで、「
」Link (Go)をドラッグし、Structureウィンドウの最初のaf:columnコンポーネントにドロップします。
すると、af:goLinkがStructureウィンドウのaf:outputTextの下に挿入されます。

ニュース・タイトルの列をテキスト・リンクに変換するため、Oracle ADF Output Textコンポーネントの最初の列をGo Linkコンポーネントに置き換えます。
詳細表示
Expression Builderを使用して、Go Linkコンポーネントを元のOutput Textコンポーネントと同じ属性値にバインドします。
タイトル・テキストをリンクにするため、Go LinkコンポーネントでDestination属性を設定します。
先ほど追加したGo Linkコンポーネントのプロパティ・インスペクタで、Textフィールドの端にある
ドロップダウン・メニューから「Expression Builder」を選択します。
-
Expressionボックスで、デフォルト・テキストのgoLink 1を削除します。 次に、Variablesの下のボックスで、「JSP Objects」→「row」の順に展開して、「title」を選択します。
式#{row.title}が表示されます。

「OK」をクリックします。
式#{row.title}は、プロパティ・インスペクタのTextフィールドに移入されます。
-
同じGo Linkコンポーネントのプロパティ・インスペクタで、Destinationフィールドの端にある
ドロップダウン・メニューから「Expression Builder」を選択します。
-
VariablesボックスのJSP Objects→rowで、「link」を選択して、「OK」をクリックします。
式#{row.link}は、プロパティ・インスペクタのDestinationフィールドに移入されます。
Go Linkコンポーネントは、最初と2番目の列(それぞれ、titleとlink)で、OutputTextコンポーネントと同じ属性値にバインドされています。

同じGo Linkコンポーネントのプロパティ・インスペクタで、TargetFrameドロップダウン・リストから「_blank」を選択します。
この操作により、リンクが実行時に選択されたときに新しいブラウザ・タブまたはウィンドウが開きます。
Structureウィンドウで、af:goLinkの上にある「af:outputText」を選択して、[Delete]キーを押し、選択したコンポーネントを削除します。OutputTextコンポーネントはもう必要ありません。
最初のaf:columnコンポーネントは次のように表示されます。

-
Structureウィンドウで、2番目の列コンポーネント「af:column - #{bindings.item.hints.link.label}」を選択して、[Delete]を押し、選択した列を削除します。リンクの列はもう必要ありません。
これで、af:columnコンポーネントは3つだけになります。

Structureウィンドウで、列コンポーネントaf:column - #{bindings.item.hints.description.label}が選択されていることを確認します。 プロパティ・インスペクタのAppearanceセクションで、Widthの値を200に変更します。
Structureウィンドウで、最初の列コンポーネント「af:column - #{bindings.item.hints.title.label}」を選択します。 プロパティ・インスペクタのAppearanceセクションで、Widthの値を300に変更します。
ビジュアル・エディタには次のような表が表示されます。
アプリケーション・ナビゲータのViewプロジェクトで、「NewsPage.jsf」を右クリックして、「Run」を選択します。
次のようなページがブラウザに表示されます。

タイトル・テキスト・リンクの1つをクリックしてください。 リンクが新しいブラウザ・タブまたはウィンドウで開きます。
詳細表示 ブラウザ・ページで、列ヘッダーの片端をドラッグして表の列の幅を広げることもできます。
エディタ・ウィンドウで、「DataControls.dcx」タブをクリックして、DCX概要エディタを前面に表示します。
DCXファイルがまだ開いていない場合は、アプリケーション・ナビゲータのModelプロジェクトの「DataControls.dcx」をダブルクリックして、ファイルを開きます。

「News」→「loadData()」→「Return」→「rss」→「channel」の順に展開します。 次に、「item」を選択し、「
」Editをクリックして、概要エディタを別に開きます。

-
loadData_Data_item.xml概要エディタで、左側の「Attributes」をクリックします。

-
Attributes表でtitleを選択した状態で、「UI Hints」タブをクリックします。 次に、LabelフィールドにNews Titleと入力します。

Oracle ADFコントロール・ヒントは、JavaBeansベースのビジネス・サービス・データ項目をあらゆるクライアント・タイプに一貫した方法でレンダリングするための一元メカニズムを提供します。
詳細表示コントロール・ヒントとして知られるこのメカニズムを使用すると、アプリケーション開発者は特定のUI設定を複数のクライアントで統一して、UIとデータ項目のやり取りを多肢にわたって制御できます。コントロール・ヒントはビジネス・サービスのレベルで設定されるため、UIコーディングの数も減らせます。
Oracle ADFコントロール・ヒント・メカニズムは、カスタマイズ可能な次のコントロール・ヒント・プロパティをサポートします。
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(有効)に設定すると、ユーザー・インタフェースで値が変更されたときに、部分的な送信をトリガーします。
-
手順を繰り返して、属性descriptionとpubDateのUIヒント・ラベルを追加します。ラベル・テキストDescriptionとDateをそれぞれ使用します。
ビジネス・サービス・レベルでコントロール・ヒントを追加すると、プロジェクトのテキスト・リソースを含んだ
.propertiesファイルが作成されます。
詳細表示
設定するコントロール・ヒントの値を定義するファイルは、プロジェクトで使用される特定のビジネス・サービスによって決まります。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を開くと、変換可能な文字列を識別する次のコードが表示されます。
#
model.News.loadData_Data_item.title_LABEL=News Title
-
アプリケーション・ナビゲータのViewプロジェクトで、「NewsPage.jsf」を右クリックして、「Run」を選択します。
ブラウザのページに、入力した新しいラベルが表示されます。

追加した新しいラベルは、列ヘッダーに表示されます。
詳細表示
列ヘッダーの「Sort Ascending」または「Sort Descending」アイコンを選択して、列ソート機能を実行してください。 ソート機能は、Edit Table Columnsダイアログで、Enable Sortingチェックボックスを選択した場合に有効化されます。

このチュートリアルでは、XMLスキーマからURLサービス・データ・コントロールを作成しました。このチュートリアルで学習した内容は、以下のとおりです。
- JDeveloperのウィザードおよびダイアログを使用して、アプリケーション、初期ページ、および初期XSDドキュメントを作成する
- ビジュアル・エディタ、コンポーネント・パレット、プロパティ・インスペクタを使用して、UIページを作成する
- ウィザードを使用して、XML形式でURLサービス・データ・コントロールを作成する
- Data Controlsパネルを使用して、コードを作成せずに、データバインドUIコンポーネントを作成する
- ビジネス・サービスの中央ロケーションでラベルを設定する
- Integrated WebLogic Serverを使用してOracle ADF Facesアプリケーションを実行する
Oracle ADFデータ・バインディングとデータバインド・アプリケーションについて詳しくは、以下を参照してください。
すべて表示 |
すべて非表示
Copyright © 2011, Oracle and/or its affiliates.All rights reserved.