NetBeans IDEでのJSF 2.xのサポート

このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます

NetBeans IDEは、JavaServer Faces (JSF) 2.0および2.1向けの組込みサポートを有効にする多数の機能を備えています。IDEのJSF 2.xサポートは、以前のJavaServer Faces向けのサポートに基づいて作成され、Faceletsページを対象とした多彩なエディタ拡張、エンティティ・クラスと連携するための様々な機能、およびJSF管理対象Bean、Faceletsテンプレートおよび合成コンポーネントの作成などの共通の開発タスク用の一連のJSFウィザードがあります。

以降の項では、NetBeans IDEでの作業中に自由に利用できるJSF 2.xの機能について説明します。新しいJSFの機能を試すには、Java WebテクノロジとJava EEテクノロジが含まれているNetBeans IDEのJavaバンドル版をダウンロードします。このダウンロード・バンドルには、Java EE 6プラットフォーム仕様(JSR 316)のリファレンス実装であるGlassFish Server Open Source Editionも含まれています。

内容

プロジェクトのJSF 2.xサポート

プロジェクト用のJSFサポートは、次のように特徴付けることができます。

  • プロジェクトにFaceletsテンプレート・ファイルが含まれる
  • JSF 2.xライブラリがプロジェクトのクラスパスに追加される
  • Facesサーブレットおよびサーブレットのマッピングがプロジェクトのデプロイメント・ディスクリプタに追加される

GlassFishサーバーまたは他の任意のJava EE準拠のサーバーを使用すると、JSF 2. xサポートを含むプロジェクトを作成したり、既存のプロジェクトにJSF 2.xのサポートを追加できます。

JSF 2.xサポートを含む新しいプロジェクトの作成

新しいJava Webアプリケーションを作成するには、IDEのプロジェクト・ウィザードを使用します。そのためには、IDEのメイン・ツールバーにある「新規プロジェクト」(「新規プロジェクト」ボタン)ボタンをクリックするか、[Ctrl]-[Shift]-[N] (Macの場合は[⌘]-[Shift]-[N])を押します。「ステップ4: フレームワーク」で、「JavaServer Faces」を選択します。

新規プロジェクト・ウィザード: フレームワーク

JavaServer Facesを選択すると、上のイメージに示すように、様々な構成オプションを使用できるようになります。プロジェクトからJSF 2.xライブラリにアクセスする方法を決定できます。「構成」タブをクリックすると、Facesサーブレットをプロジェクトのデプロイメント・ディスクリプタに登録する方法を指定できます。

「構成」タブ

既存のプロジェクトへのJSF 2.xサポートの追加

既存のJava WebアプリケーションにJSF 2.xサポートを追加する場合は、プロジェクトの「プロパティ」ウィンドウから行えます。

  1. 「プロジェクト」ウィンドウ([Ctrl]-[1]、Macの場合は[⌘]-[1])で、プロジェクト・ノードを右クリックし、「プロパティ」を選択します。「プロジェクト・プロパティ」ウィンドウが表示されます。
  2. 「フレームワーク」カテゴリを選択し、「追加」ボタンをクリックします。
  3. 「フレームワークの追加」ダイアログ・ボックスで、「JavaServer Faces」を選択します。「OK」をクリックします。
    「プロジェクト・プロパティ」ウィンドウ: 「フレームワークの追加」ダイアログ

    JavaServer Facesを選択すると、JSF 2.xライブラリへのパスの指定や、プロジェクトのデプロイメント・ディスクリプタでのFacesサーブレットの登録など、様々な構成オプションを使用できるようになります。


エディタの使用

IDEのエディタは言語固有であり、作業中のファイル・タイプに応じたサポートを提供します。一般的に、ファイル内の要素上で[Ctrl]-[Space]を押すと、コード補完とAPIドキュメントを呼び出すことができます。キーボード・ショートカットとコード・テンプレートを利用することもできます。

IDEのメイン・メニューから「ヘルプ」>「キーボード・ショートカット・カード」を選択して、よく使用するキーボード・ショートカットおよびコード・テンプレートを表示します。完全な一覧については、NetBeans IDE 6.xキーボード・ショートカットの仕様を参照してください。

IDEは、JSF 2.0 APIおよびJSF 2.1 API用の組込みのJavadocサポートに加え、JSFのタグ・ライブラリ・ドキュメントを備えています。これらのリソースを実際の操作で利用するには、エディタ内の指定した要素上で単純に[Ctrl]-[Space]を押します。

Javadocドキュメントにアクセスしたままにするには、IDEのJavadocウィンドウを開きます(「ウィンドウ」>「その他」>「Javadoc」)。Javadocウィンドウは、エディタ内のカーソルの位置に応じて自動的に最新状態にリフレッシュされます。

JSFプロジェクトを操作する場合、編集作業は主としてFaceletsファイル、JSF管理対象BeanおよびFaces構成ファイル(faces-config.xml)に対して行われます。次に、自由に使用できるエディタのサポートを簡単に説明します。

Faceletsエディタ

IDEのFaceletsエディタには、構文の強調表示、エラーやJSFタグのチェック、ドキュメントのサポート、およびEL式、Faceletsコア・ライブラリ、名前空間でのコード補完など、JSF開発を容易に行うための機能が多数用意されています。

必要に応じて[Ctrl]-[Space]を押し、コード補完およびドキュメントのサポートを呼び出すことができます。

コード補完およびドキュメントのサポートが表示されたIDEエディタ

また、[Ctrl]-[Space]を押す前に接頭辞(jsfなど)を入力して、項目をフィルタすることもできます。

IDEのエディタに表示されたコード補完ポップアップ・リスト

[Ctrl]-[Space]を押してFacelets名前空間のコード補完を呼び出します。

IDEのエディタに表示されたコード補完ポップアップ・リスト

同様に、ページでまだ宣言されていない名前空間を持つJSFタグを入力すると、ページの<html>タグに自動的に追加されます。

エディタは、式言語(EL)構文の補完サポートを備えています。暗黙オブジェクト、JSF管理対象Bean、およびそのプロパティに対する候補を呼び出すには、ELコードで[Ctrl]-[Space]を押します。

EL式のコード補完ポップアップ・リスト

エディタでコード・スニペットを強調表示し、「合成コンポーネントに変換」を選択して、JSF合成コンポーネントを作成することもできます。詳細は、合成コンポーネント・ウィザードを参照してください。

エディタは、基本的なエラー・チェック機能を備えています。エラーは赤い下線付きで表示され、対応するバッジが左マージンに表示されます。警告には黄色い下線が引かれ、左マージンに黄色いバッジが示されます。バッジまたは下線の付いたテキストの上にマウスを置くと、エラーの説明が表示されます。

JSFタグを入力すると、様々なチェックが実行されます。これらには次のものが含まれます。

  • 宣言されたライブラリが存在するかどうか
  • タグの接頭辞と一致するライブラリに、そのコンポーネントまたはタグが含まれているかどうか
  • 必要なすべての属性がタグに含まれているかどうか
  • 入力されたすべての属性がコンポーネントのインタフェースで定義されているかどうか

エディタは次についてもチェックします。

  • 宣言されていないコンポーネントがあるかどうか
  • 使用状況のないtaglib宣言があるかどうか

Faces XML構成エディタ

JSFプロジェクトにfaces-config.xmlファイルを含めると、ナビゲーション・ルールを定義するとき、または管理対象Beanを宣言するときに、[Ctrl]-[Space]を押して、コード補完とドキュメントのサポートを呼び出すことができます。

手動によるコーディングではなく、ダイアログを使用してナビゲーション・ルールおよび管理対象Beanを入力する場合は、この目的のためにIDEに用意されているいくつかのJSF固有のダイアログがあります。これらのダイアログには、エディタの右クリック・メニューからアクセスできます。

faces-config.xmlファイル - 右クリック・メニュー

IDEには、faces-config.xml用の2つの異なるビューがあります。1つはXMLソース・コードを表示するソース・ビューです。もう1つはページ・フロー・ビューで、これはfaces-config.xmlファイルで定義されたJSFナビゲーション・ルールを表すグラフィカル・インタフェースです。

たとえば、ファイルに次のナビゲーション・ルールがあるとします。

<navigation-rule>
    <from-view-id>/greeting.xhtml</from-view-id>
    <navigation-case>
        <from-outcome>response</from-outcome>
        <to-view-id>/success.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

「ページ・フロー」ビューには、次の関係が表示されます。これは、「response」がJSFのNavigationHandlerに渡されると、greeting.xhtmlからsuccess.xhtmlに移動することを示します。

faces-config.xmlファイル: 「ページ・フロー」ビュー

「ページ・フロー」ビュー内のコンポーネントをダブルクリックすると、ソース・ファイルに直接移動できます。たとえば、greeting.xhtmlコンポーネントをダブルクリックすると、エディタでgreeting.xhtmlファイルが開かれます。同様に、2つのコンポーネントの間にある矢印をダブルクリックすると、エディタで、faces-config.xml XMLビューで定義されたナビゲーション・ルールがフォーカスされます。


JSFのウィザード

NetBeans IDEには、JSF 2.xを使用した開発に役立つ多数のウィザードが用意されています。新しいFaceletsページ、Faceletsテンプレート、JSF管理対象Bean、合成コンポーネント、Faces構成ファイルなどを作成できます。

すべてのウィザードは、IDEの一般的なファイル・ウィザードを経由してアクセスできます。ファイル・ウィザードにアクセスするには、「新規ファイル」(「新規ファイル」ボタン)ボタンを押すか、メイン・メニューから「ファイル」>「新規ファイル」を選択します(または[Ctrl]-[N]、Macの場合は[⌘]-[N]を押します)。JSF固有のウィザードはJavaServer Facesカテゴリに一覧表示されます。

ファイル・ウィザード: 「JavaServer Faces」カテゴリの選択

JSFサポートを使用してJava Webプロジェクトを操作している場合は、次のウィザードを使用できます。

JSFページ・ウィザード

プロジェクト用にFaceletsおよびJSPページを作成するには、JSFページ・ウィザードを使用します。IDEのファイル・ウィザードで、「JavaServer Faces」カテゴリを選択し、「JSFページ」を選択します。JSF 2.xでは、JSFページを宣言する方法としてFaceletsが優先されます。デフォルトで、ウィザードの「Facelets」オプションが選択されています。新しいJSPページまたはJSPフラグメント(.jspfファイル)を作成する場合は、「JSPファイル」オプションを選択します。

JSFファイル・ウィザード

管理対象Beanウィザード

IDEの管理対象Beanウィザードを使用して、アプリケーション用のJSF管理対象Beanを作成できます。IDEのファイル・ウィザードの「JavaServer Faces」カテゴリから「JSF管理対象Bean」を選択します。

デフォルトでは、ウィザードで指定するメタデータは、注釈内に変換されます。この注釈は、管理対象Beanが生成されると、これらのBeanに適用されます。たとえば、次のイメージでは、NewJSFManagedBeanという名前のセッション・スコープされたクラスを新しく作成し、これにmyManagedBeanという名前を付けています。

管理対象Beanウィザード

管理対象Beanが生成されると、次のように適切な注釈とともに表示されます。

package my.org;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="myManagedBean")
@SessionScoped
public class NewJSFManagedBean {

    /** Creates a new instance of NewJSFManagedBean */
    public NewJSFManagedBean() {
    }

}

プロジェクトにすでにfaces-config.xmlファイルが含まれている場合は、ウィザードの「構成ファイルにデータを追加」オプションがアクティブになり、Faces構成ファイルで管理対象Beanを宣言するか、管理対象Beanに注釈を経由して指定したメタデータを持つことができます。

Faces構成ウィザード

JSF 2.xでは、アプリケーションを構成するための標準のFaces構成ファイル(faces-config.xml)の代替手段として注釈が採用されています。したがって、プロジェクトにJSF 2.xサポートを追加しても、IDEではデフォルトのfaces-config.xmlファイルは生成されません (JSF 1.2では生成されました)。通常は、特定の構成設定を定義するために、faces-config.xmlファイルをプロジェクトに追加します。これを行うには、IDEのFaces構成ウィザードを使用します。

IDEのファイル・ウィザードにある「JavaServer Faces」カテゴリから「JSF Faces構成」を選択します。これにより、新しいfaces-config.xmlファイルが作成され、デフォルトでプロジェクトのWEB-INFフォルダに配置されます。

faces-config.xml向けのIDEのエディタ・サポートの説明については、Faces XML構成エディタを参照してください。

合成コンポーネント・ウィザード

JSF 2.xでは、ユーザー・インタフェース(UI)の合成コンポーネントの作成プロセスが簡素化されており、これらのコンポーネントをWebページで再利用できます。IDEの合成コンポーネント・ウィザードを使用すると、JSF合成コンポーネント用のFaceletsテンプレートを生成できます。

すべてのJSF関連ウィザードと同様に、合成コンポーネント・ウィザードには、IDEのファイル・ウィザードにある「JavaServer Faces」カテゴリからアクセスできます。ただし、ウィザードをより直観的に表示するには、エディタのFaceletsページからコード・スニペットを強調表示し、ポップアップ・メニューから「リファクタリング」>「合成コンポーネントに変換」を選択します。

次の例では、スニペット「<p>This is the composite component.</p>」で合成コンポーネント・ウィザードを呼び出すときに発生するアクションと、自由に使用できる機能について説明します。

Faceletsエディタ - 「合成コンポーネントに変換」メニュー・オプション

合成コンポーネント・ウィザードが開きます。このとき、選択されたスニペットが「実装セクション」パネルに表示されます。

合成コンポーネント・ウィザード

デフォルトでは、合成コンポーネントを格納するためのezcompフォルダが作成されます。たとえば、myComponentという名前の新しいコンポーネントを作成している場合、このウィザードによりmyComponent.xhtml Faceletsページが生成され、アプリケーションのWebルートのresources/ezcompフォルダに配置されます。

ウィザードを完了すると、指定したコード・スニペット用の合成コンポーネントのソース・ファイルが生成されます。テンプレートには、JSF 2.xのcompositeタグ・ライブラリへの参照が含まれます。

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:cc="http://xmlns.jcp.org/jsf/composite">

  <!-- INTERFACE -->
  <cc:interface>
  </cc:interface>

  <!-- IMPLEMENTATION -->
  <cc:implementation>
    <p>This is the composite component.</p>
  </cc:implementation>
</html>

また、エディタ内で強調表示したスニペットの位置に、新しいコンポーネント・タグが挿入されます。この場合、生成されるタグは<ez:myComponent/>です。IDEでは、合成コンポーネントのある名前空間が、ページの<html>タグに自動的に挿入されます。

合成コンポーネント・ウィザード

IDEでは、合成コンポーネントのソース・ファイルへのハイパーリンク機能もサポートされます。コンポーネント・タグの上にマウスを置いているときに[Ctrl] (Macの場合は[⌘])を押すと、Faceletsページから合成コンポーネントに移動できます。ハイパーリンクをクリックすると、合成コンポーネントのソース・ファイルがエディタで開かれます。

JSF 2.xの合成コンポーネントの詳細は、真の抽象化: JSF 2.0の合成UIコンポーネントを参照してください。

エンティティからのJSFページ・クラス・ウィザード

エンティティ・クラスのサポートエンティティ・クラスからのJSFページの作成のトピックを参照してください。

Faceletsテンプレート・ウィザード

Faceletsテンプレートを生成するには、Faceletsテンプレート・ウィザードを使用します。IDEのファイル・ウィザードにある「JavaServer Faces」カテゴリから「Faceletsテンプレート」を選択します。8つの独自のレイアウト・スタイルから選択できます。また、レイアウトをCSSとHTML<table>タグのどちらを使用して実装するかを指定できます。

Faceletsテンプレート・ウィザード

このウィザードにより、<h:head>タグと<h:body>タグを使用してXHTMLテンプレート・ファイルが作成され、関連付けられたスタイル・シートはアプリケーションのWebルートにあるresources/cssフォルダに保存されます。default.cssファイル、および選択するレイアウトに応じてcssLayout.cssファイルまたはtableLayout.cssファイルが生成されます。

ブラウザにテンプレートを表示するには、エディタ内で右クリックし、「表示」を選択します。ブラウザ・ウィンドウが開き、テンプレートが表示されます。

Faceletsテンプレート・クライアント・ウィザード

プロジェクトのFaceletsテンプレートを参照するページを生成するには、Faceletsテンプレート・クライアント・ウィザードを使用します。IDEのファイル・ウィザードにある「JavaServer Faces」カテゴリから「Faceletsテンプレート・クライアント」を選択します。クライアントで使用するFaceletsテンプレートの場所を指定できます。ルート・タグを<html>にするか<ui:composition>にするかを指定できます

Faceletsテンプレート・クライアント・ウィザード

Faceletsテンプレートおよびクライアントの使用の詳細は、NetBeans IDEでのJavaServer Faces 2.x入門Faceletsテンプレートの適用の項を参照してください。


エンティティ・クラスのサポート

アプリケーションでJava Persistenceを使用しており、データベース・スキーマに基づいたエンティティ・クラスがある場合、IDEでは、エンティティ・クラス・データを使用した効率的な処理を可能にする機能が提供されます。

注意: データベース表からエンティティ・クラスを作成するには、データベース・ウィザードからIDEのエンティティ・クラスを使用します。これは、IDEのファイル・ウィザードにある「持続性」カテゴリからアクセスできます。

エンティティ・クラスからのJSFページの作成

アプリケーションにエンティティ・クラスができたら、IDEのエンティティからのJSFページ・クラス・ウィザードを使用して、エンティティ・クラス・データを表示および変更するためのWebインタフェースを作成します。ウィザードで生成されるコードは、エンティティ・クラス内に格納された持続性注釈に基づいて生成されます。

ウィザードでは、エンティティ・クラスごとに次のものが生成されます。

  • エンティティ・インスタンスの作成、取得、変更および除去のためのステートレス・セッションBean
  • JSFセッション・スコープ指定管理対象Bean
  • CRUD機能のための4つのFaceletsファイル(Create.xhtmlEdit.xhtmlList.xhtml、およびView.xhtml)を格納するディレクトリ
  • JSF管理対象Bean (JsfUtilPaginationHelper)に使用されるユーティリティ・クラス
  • ローカライズされたメッセージのプロパティ・バンドル、およびプロジェクトのFaces構成ファイル内(このファイルがない場合、faces-config.xmlファイルが作成される)の対応するエントリ
  • レンダリングされるコンポーネントのデフォルトのスタイル・シートおよびFaceletsテンプレート・ファイルを含む、補助Webファイル

エンティティからのJSFページ・クラス・ウィザードを使用するには、IDEのファイル・ウィザードにアクセスします。「JavaServer Faces」カテゴリを選択し、「エンティティからのJSFページ・クラス」を選択します。

「ステップ3: 生成されたJSFページとクラス」に到達したら、生成するファイルの保存場所を指定できます。

ステップ3: 生成されたJSFページとクラス

たとえば、ウィザードをCustomerエンティティ・クラスに適用している場合、前出のイメージに示される設定によって次のファイルが生成されます。

「プロジェクト」ウィンドウ - ウィザードで生成されたファイル
  • プロパティのバンドルの場所を登録するためのfaces-config.xmlファイル。JSFビューのローカライズされたメッセージが格納されています。たとえば、ウィザードで「ローカリゼーション・バンドル名」に/my/org/Bundleを指定すると、次のエントリが生成されます。
    <application>
        <resource-bundle>
            <base-name>/my/org/Bundle</base-name>
            <var>bundle</var>
        </resource-bundle>
    </application>
  • Webルートのcustomerフォルダ。CRUD機能用の4つのFaceletsファイルが格納されています。
    • Create.xhtml: 新しい顧客を作成するためのJSFフォーム。
    • Edit.xhtml: 顧客を編集するためのJSFフォーム。
    • List.xhtml: 顧客間をスクロールするためのJSFデータ表。
    • View.xhtml: 顧客の詳細を表示するためのJSFフォーム。
  • jsfcrud.css: JSFフォームとデータ表のレンダリングに使用されるスタイル・シート。
  • template.xhtml: オプションのFaceletsテンプレート・ページ。生成されたjsfcrud.cssスタイル・シートへの参照が含まれます。
  • CustomerFacadeという名前が付いたステートレス・セッション(エンタープライズ) Bean。my.org.dataパッケージにあります。このクラスには、プロジェクトの「エンタープライズBean」ノードからも同様にアクセスできます。
  • Bundle.properties: JSFビュー用のデフォルトのローカライズ済メッセージを含むプロパティ・バンドル。
  • my.org.uiパッケージにあるCustomerControllerという名前の、JSFのセッション・スコープされた管理対象Bean。
  • my.org.ui.utilパッケージにある、2つのユーティリティ・クラス(JsfUtilおよびPaginationHelper)。これらは、CustomerController管理対象Beanによって使用されます。

エンティティ・データ用のJSFフォームの作成

エンティティからのフォーム・ダイアログを使用して、エンティティ・クラスに含まれるすべてのプロパティのフィールドを含むJSFフォームを生成できます。フォームに関連付けられたユーザー・データを処理するために作成された、JSF管理対象Beanが用意されている必要があります。

注意: 関連する管理対象Beanなしでこのダイアログを使用する場合は、管理対象Beanの名前をこのダイアログに入力できます。この名前は、有効かどうかにかかわらず、ページで使用されます。IDEの管理対象Beanウィザードを使用して管理対象Beanを作成できます。または、エンティティからのJSFページ・クラス・ウィザードを使用すると、選択されたすべてのエンティティ・クラスに対する管理対象Beanが生成されます。

エンティティからのフォームのダイアログにアクセスするには、Faceletsページのエディタで[Ctrl]-[Space]を押して「エンティティからのJSFフォーム」を選択するか、IDEの「パレット」に一覧表示されているエンティティからのフォームの項目をダブルクリックします([Ctrl]-[Shift]-[8]、Macの場合は[⌘]-[Shift]-[8])。

たとえば、次のイメージでは、「Customer」エンティティ・クラスが、指定したプロジェクトのmy.orgパッケージにすでにあります。customerController管理対象Beanも、指定されたプロジェクトにすでに存在します。この管理対象Beanには、Customerオブジェクトを返すselectedという名前のプロパティがあります。

「エンティティからのJSFフォーム」ダイアログ

注意: 読取り専用フィールドを含むフォームを作成するには、「読取り専用ビューを生成」オプションを選択します。このオプションが選択されると、IDEは<h:outputText>タグをフォーム・フィールドに適用します。このオプションが選択されない場合は、<h:inputText>タグが適用されます。

このダイアログを完了すると、IDEによりFaceletsページのコードが生成されます。たとえば、customerIdプロパティを含むCustomerエンティティ・クラスが次の形式で表示されます。

<f:view>
    <h:form>
        <h1><h:outputText value="Create/Edit"/></h1>
        <h:panelGrid columns="2">
            <h:outputLabel value="CustomerId:" for="customerId" />
            <h:inputText id="customerId" value="#{customerController.selected.customerId}" title="CustomerId" required="true" requiredMessage="The CustomerId field is required."/>
            ...
            [ Other fields added here. ]
            ...
        </h:panelGrid>
    </h:form>
</f:view>

生成されたコードで使用されるテンプレートを変更するには、エンティティからのフォーム・ダイアログにある「テンプレートのカスタマイズ」リンクをクリックします。

エンティティ・データ用のJSFデータ表の作成

エンティティからのデータ表ダイアログを使用して、エンティティ・クラスに含まれるすべてのプロパティ用の列を含むJSFデータ表を生成できます。この機能を利用するには、エンティティ・クラスに関連付けられたバックエンド・データを処理するために作成されたJSF管理対象Beanを用意しておく必要があります。

注意: 関連する管理対象Beanなしでこのダイアログを使用する場合は、管理対象Beanの名前をこのダイアログに入力できます。この名前は、有効かどうかにかかわらず、ページで使用されます。IDEの管理対象Beanウィザードを使用して管理対象Beanを作成できます。または、エンティティからのJSFページ・クラス・ウィザードを使用すると、選択されたすべてのエンティティ・クラスに対する管理対象Beanが生成されます。

エンティティからのデータ表ダイアログにアクセスするには、Faceletsページのエディタで[Ctrl]-[Space]を押して「エンティティからのJSFデータ表」を選択するか、IDEのパレットに一覧表示されているエンティティからのデータ表の項目をダブルクリックします([Ctrl]-[Shift]-[8]、Macの場合は[⌘]-[Shift]-[8])。

たとえば、次のイメージでは、指定したプロジェクトのmy.org.entityパッケージにProductエンティティ・クラスがすでにあります。productController管理対象Beanもプロジェクト内にあり、管理対象Beanには、ProductオブジェクトのListを返すgetProductItems()という名前のメソッドが含まれています。

「エンティティからのJSFデータ表」ダイアログ

このダイアログを完了すると、IDEによりFaceletsページのコードが生成されます。たとえば、productIdプロパティを含むProductエンティティ・クラスが次の形式で表示されます。

<f:view>
    <h:form>
        <h1><h:outputText value="List"/></h1>
        <h:dataTable value="#{productController.productItems}" var="item">
            <h:column>
                <f:facet name="header">
                    <h:outputText value="ProductId"/>
                </f:facet>
                <h:outputText value="#{item.productId}"/>
            </h:column>
            ...
            [ Other columns added here. ]
            ...
        </h:dataTable>
    </h:form>
</f:view>

生成されたコードで使用されるテンプレートを変更するには、データ表からのフォーム・ダイアログの「テンプレートのカスタマイズ」リンクをクリックします。


JSFパレットのコンポーネント

Faceletsページでの作業中、IDEの「パレット」を活用してJSFタグをページにドラッグ・アンド・ドロップできます。「パレット」にアクセスするには、メイン・メニューから「ウィンドウ」>「パレット」を選択するか、[Ctrl]-[Shift]-[8] (Macの場合は[⌘]-[Shift]-[8])を押します。

JSFカテゴリが展開されたパレット

IDEのメイン・メニューから「ソース」>「コードを挿入」([Alt]-[Insert]、Macの場合は[Ctrl]-[I])を選択して、「パレット」内のJSF固有のコンポーネントを含むポップアップ・リストを呼び出すこともできます。

IDEのエディタに表示されたコード補完ポップアップ・リスト

「パレット」には、5つのJSF関連コンポーネントがあります。

  • メタデータ: JSFメタデータ・タグ内に名前と値のペアを追加するためのダイアログを呼び出します。たとえば、名前と値のペアとして「myId」と「myValue」を指定すると、次のコード・スニペットが作成されます。
    <f:metadata>
        <f:viewParam id='myId' value='myValue'/>
    </f:metadata>
  • JSFフォーム: 次のコード・スニペットをページに追加します。
    <f:view>
        <h:form>
        </h:form>
    </f:view>
  • エンティティからのJSFフォーム: エンティティ・クラスのデータをJSFフォームに含まれるフィールドに関連付けるためのダイアログを呼び出します。エンティティ・データ用のJSFフォームの作成を参照してください。
  • JSFデータ表: 次のコード・スニペットをページに追加します。
    <f:view>
        <h:form>
            <h:dataTable value="#{}" var="item">
            </h:dataTable>
        </h:form>
    </f:view>
  • エンティティからのJSFデータ表: エンティティ・クラスのデータをJSFデータ表に含まれるフィールドに関連付けるためのダイアログを呼び出します。エンティティ・データ用のJSFデータ表の作成を参照してください。

関連項目

JSF 2.xの詳細は、次のリソースを参照してください。

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo