JSFでは多数の表示レイヤー・テクノロジがサポートされていますが、JDeveloperでは、JSF Webページを作成するための表示テクノロジとしてJSPが使用されています。 JSFとJSPを併用すると、JSFページをJSPページ(.jsp
)またはJSPドキュメント(.jspx
)にできます。 JSPドキュメントは整形式のXMLドキュメントで、XML標準によって、ドキュメント・タイプ定義に対する検証などの多くの利点が提供されます。 特に注意がないかぎり、このガイドで使用している「JSFページ」という用語は、JSF JSPページとJSF JSPドキュメントの両方を指します。
アプリケーション・ページ・フローの立案と作成には、JSFナビゲーション・ダイアグラムの使用をお薦めします。 JSFナビゲーション・ダイアグラムにはアプリケーションのページが視覚的に表示されるため、JSP/HTMLビジュアル・エディタでWebページを編集するとき、各Webページにドリルダウンするのに特に便利です。
JSFナビゲーション・ダイアグラムを使用してJSFページをViewControllerプロジェクトに追加する手順は、次のとおりです。
アプリケーション・ナビゲータでViewController/Webコンテンツ/WEB-INF
フォルダを開き、faces-config.xmlをダブルクリックします。
デフォルトのJDeveloperでは、このファイルが「ダイアグラム」タブで開きます。このタブがJSFナビゲーション・ダイアグラムです。 ViewController
プロジェクトの開始直後は、このナビゲーション・ダイアグラムには何も描画されていません。 faces-config.xml
を開いたときにダイアグラムに描画されるようにするには、エディタの下部にある「ダイアグラム」を選択します。
コンポーネント・パレットで、ドロップダウンから「JSF Navigation Diagram」を選択し、次に「JSF Page」を選択します。
ダイアグラム上で、ページを表示する場所をクリックします。 ページ名のラベルとともにページ・アイコンがダイアグラムに表示されます。 このページ・アイコンには、黄色の警告が重なっています。 これは、実際のページはまだ作成されておらず、単なるページの表示であることを意味します。
新規ページを作成するには、このページ・アイコンをダブルクリックし、JSF JSPの作成ウィザードを使用します。
JDeveloperで初めてページを作成するときは、このウィザードのすべてのステップを完了してください。
JSF JSPの作成ウィザードのステップ1で、JSPファイルの「タイプ」に対して「JSPページ(*.jsp)」または「JSPドキュメント(*.jspx)」を選択します。
ファイル名を入力し、デフォルトのディレクトリ名をそのまま使用するか、新規の場所を選択します。 デフォルトのJDeveloperでは、ファイルはファイル・システム内の/ViewController/public_html
に保存されます。
ウィザードのステップ2で、マネージドBeanにUIコンポーネントを自動的に公開するかどうかを選択します。
マネージドBeanおよびUIコンポーネントの詳細は、第9.4項「Webページに対するバッキングBeanの作成と使用」を参照してください。
ウィザードのステップ3で、次のライブラリが「選択済のライブラリ」リストに追加されていることを確認します。
ADF Faces Components
ADF Faces HTML
JSF Core
JSF HTML
残りのページについてはデフォルト設定をそのまま使用し、「終了」をクリックします。
新規のJSFページがJSP/HTMLビジュアル・エディタで開き、このエディタで、コンポーネント・パレットからADF Facesコンポーネントを使用するか、データバインドされたADF Facesコンポーネントをデータ・コントロール・パレットからドロップして、ページのレイアウトを開始できます。
JSFナビゲーション・ダイアグラムに戻ると(上部にある「faces-config.xml」エディタ・タブをクリックして)、ページ・アイコン上の黄色の警告は消えています。
図9-7に、ウィザードのステップを完了してJSFページを追加した後にアプリケーション・ナビゲータに表示されたViewControllerプロジェクトを示します。
JSFナビゲーション・ダイアグラムを使用してViewControllerプロジェクトに最初のJSFページを作成すると、JDeveloperでは次の処理が実行されます。
adf-faces-impl.jar
が/WEB-INF/lib
に追加されます。
次のライブラリがViewControllerプロジェクト・プロパティに追加されます。
JSPタグ・ライブラリ: ADF Faces Components、ADF Faces HTML
ライブラリ: JSP Runtime、ADF Faces Runtime、ADF Common Runtime
faces-config.oxd_faces
ファイルがファイル・システム内(例: <JDEV_HOME>/jdev/mywork/Application1/ViewController/model/public_html/WEB-INF
)にのみ作成されます。 JSFナビゲーション・ダイアグラムでページ・フローを立案して作成するときは、このファイルにレイアウトや注釈などのダイアグラム詳細が保持されます。 JDeveloperでは、常に、このファイルを関連のXMLファイルfaces-config.xml
とともに保守します。 faces-config.oxd_faces
ファイルは、アプリケーション・ナビゲータやシステム・ナビゲータには表示されません。
JDeveloperでは、JSF JSP 2.0ファイルである初期ページも作成され、この初期ページにはJSFタグ・ライブラリが自動的にインポートされます。 また、ウィザードのステップ3でADF Facesタグ・ライブラリを追加した場合、JDeveloperでは、ADF Facesタグ・ライブラリも初期ページにインポートされます。 例9-1に、JSF JSPドキュメントの初期ページを示します。
例9-1 JDeveloperで作成された初期のJSF JSPドキュメント
<?xml version='1.0' encoding='windows-1252'?> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:af="http://xmlns.oracle.com/adf/faces" xmlns:afh="http://xmlns.oracle.com/adf/faces/html" <jsp:output omit-xml-declaration="true" doctype-root-element="HTML" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/> <jsp:directive.page contentType="text/html;charset=windows-1252"/> <f:view> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/> <title>untitled1</title> </head> <body> <h:form></h:form> </body> </html> </f:view> </jsp:root>
JSFナビゲーション・ダイアグラムでは、ページ・アイコンのラベルの先頭にスラッシュ(/)が表示され、その後にページの名前が表示されます。 この先頭のスラッシュは、ダイアグラムからページを実行するために必要です。 このスラッシュを削除すると、JDeveloperによって自動的に復元されます。
JSFナビゲーション・ダイアグラムでページ名を変更したり、ページを削除する際は、次の点に注意してください。
ページ名の変更: JSFナビゲーション・ダイアグラムでJSFページの名前を変更することは、元の名前のページをダイアグラムから削除し、新しい名前で新規ページを追加したことと同じです。ページ・アイコンは、ページが存在しないことを示す黄色の警告が重なったアイコンに変わります。 基礎となるページをすでに作成している場合、アプリケーション・ナビゲータでは、そのページは元の名前のままです。
同様に、アプリケーション・ナビゲータにJSFページがあり、ダイアグラムにページ・アイコンが表示されているときに、アプリケーション・ナビゲータでページの名前を変更することは、元のファイルを削除して新規ファイルを作成したことと同じです。 ただし、ダイアグラムには元の名前が表示され、ページが存在しないことを示す黄色の警告が重なったページ・アイコンが表示されます。
ページの削除: JSFナビゲーション・ダイアグラムでページ・アイコンを削除すると、関連するWebページがダイアグラムに表示されなくなります。 ただし、実際のファイルを作成している場合、そのファイルは、アプリケーション・ナビゲータのViewControllerプロジェクトの「Webコンテンツ」フォルダから使用できます。
JSFナビゲーション・ダイアグラムおよびナビゲーションの作成方法については、『Oracle Application Development Framework開発者ガイド』を参照してください。