JavaServer Faces完全ガイド

[cover photo]
  • 2004年08月 発行
  • 688ページ
  • ISBN4-87311-197-8
  • フォーマット Print PDF
  • 原書: JavaServer Faces

この商品は好評につき現在入荷待ちです
Ebook Storeで電子版を購入:
価格4,234円

JavaServer Faces(JSF)は、Webアプリケーションのインタフェースを構築するためのフレームワークで、Sunが現在最も注力している技術のひとつです。JavaServer Pages(JSP)よりも一歩進んだ形で、Webアプリケーションのビジネスロジックとプレゼンテーションデザインを完全に分離することができるため、短期間で効率よくWebアプリケーションの開発ができ、コストも抑えられると期待されています。
本書は、Webサービスの概説から、JSFについて仕組み、標準コンポーネントとそのほかの機能についての詳細とカスタマイズ方法を、経費報告システムの作成を実例として示しながら丁寧に解説します。さらに後半ではカスタムコンポーネントやカスタムプレゼンテーションの開発など、高度な話題も扱っています。JSF仕様策定メンバーの一人であるHans Bergstenによる圧倒的な情報量を誇る解説書です。

訳者まえがき
まえがき

1章      JavaServer Facesをよろしく!
        1.1     JavaServer Facesって何?
        1.2     これまでのWebアプリ技術とどう違うの?
                1.2.1 最少限のコードでユーザインタフェイスを記述できる
                1.2.2 ユーザインタフェイスのコードを明確にモジュール化できる
        1.3     JSFの得意技は何?
                1.3.1 JSPとJSFを併用する
                1.3.2 StrutsなどのアプリケーションフレームワークとJSFを併用する
                1.3.3 エンタプライズJavaBeansとJSFを併用する
        1.4     JSFを勉強していくのに何が必要か?

2章      JSFアプリケーションの作り方
        2.1     JSFのユーザインタフェイスでアプリケーションを作る
        2.2     アプリケーション本体の開発
        2.3     コンポーネントと連結のためのコードを書く
        2.4     ユーザインタフェイスのページを作る

3章      JSFを使うための環境づくり
        3.1     Javaソフトウェア開発キット(Java2 SDK)をインストールする
        3.2     Tomcatをインストールする
                3.2.1 Windowsプラットホーム
                3.2.2 UNIXプラットホーム(LinuxやMac OS Xなどを含む)
        3.3     Tomcatを試運転する
        3.4     本書のプログラムをインストールする
        3.5     本書のWebアプリケーションの概要

4章      サーブレットとJSP入門
        4.1     HTTP
                4.1.1 リクエストの細部
                4.1.2 リスポンスの細部
                4.1.3 リクエストパラメータ
                4.1.4 リクエストメソッド
        4.2     Webアプリケーションの展開と実行時の環境
                4.2.1 Webコンテナとサーブレットコンテキスト
        4.3     サーブレットとフィルタとリスナ
                4.3.1 リクエストデータの使い方
                4.3.2 サーブレットをコンパイルしてインストールして動かす
                4.3.3 いろいろなリスポンスを作る
                4.3.4 フィルタとリスナ
        4.4     JavaServer Pages(JSP)
                4.4.1 JSPはどう処理されるか
                4.4.2 JSPの各成分
                4.4.3 JSPページを作ってインストールして動かす
        4.5     アプリケーションのデータにアクセスする

5章      ビジネスロジックとユーザ認証
        5.1     本書のアプリケーションの全体像
        5.2     ビジネスロジッククラスを作る
                5.2.1 ReportEntryクラス
                5.2.2 Reportクラス
                5.2.3 ReportRegistryクラスとFileReportRegistryクラス
        5.3     ユーザ認証と資格認証
                5.3.1 ユーザを認証する
                5.3.2 リソースへのアクセスを制御する

6章      コンポーネントの作成と表示
        6.1     JSFの基本
                6.1.1 JSPページの中でJSFのコンポーネントを使う
                6.1.2 JSFのコンポーネントを作る
                6.1.3 ビューをレンダリングする(=ビューの表示物を指定する)
                6.1.4 ビューのステートをセーブする
                6.1.5 JSFを使ったWebアプリケーションのインストールとコンフィギュレーション
                6.1.6 JSFのコンポーネントのあるJSPページを動かす
        6.2     コンポーネントをモデルのプロパティに結び付ける
                6.2.1 JSFの式言語
                6.2.2 値結合の式を使う
                6.2.3 モデルとビューの間でデータ形式の変換をする
                6.2.4 オブジェクトを必要に応じて作る
        6.3     コンポーネントの表示を条件化する
                6.3.1 ビーンのプロパティを使ってコンポーネントの表示を条件化する
                6.3.2 ビーンのプロパティを使ってコンポーネントをインクルードする

7章      入力を検査する
        7.1     ユーザ入力のシンタクスエラーへの対応
        7.2     標準のヴァリデータを使う
                7.2.1 経費項目入力フォームの値結合
        7.3     エラーメッセージを作る
        7.4     ヴァリデータを自作する
                7.4.1 自作ヴァリデータを登録する
                7.4.2 自作のヴァリデータをJSPの中で使う
                7.4.3 ヴァリデータのカスタムアクションを作る
                7.4.4 カスタムタグライブラリを配置する
                7.4.5 もっと楽なやり方
        7.5     入力を検査するそのほかの方法

8章      イベントを処理する
        8.1     JSFのイベントの形式を理解する
                8.1.1 リクエスト処理のライフサイクルの各段階
        8.2     アプリケーション本体のためのイベントを処理する
                8.2.1 アクションメソッドとデフォルトのアクションリスナを使う
                8.2.2 アクションリスナメソッドやインスタンスを使う
                8.2.3 イベントを発火するタイミングを指定する
        8.3     ユーザインタフェイスイベントを処理する
                8.3.1 ボタンやリンクをクリックしてイベントを発生させる
                8.3.2 値の変化によってイベントを発火する

9章      ナビゲーションを制御する
        9.1     JSFのビュー間での移動
                9.1.1 リダイレクトと直接表示を使い分ける
                9.1.2 パネルコンポーネントを使ってレイアウトをする
        9.2     JSFのビューではないリスポンスを返す
                9.2.1 JSF以外のリソースをリンクする
                9.2.2 JSFの入力を処理してJSFでないリスポンスをつくり出す
        9.3     JSF以外のリクエストに対してJSFのビューをリスポンスする

10章     表形式のデータを扱う
        10.1    リードオンリーの表を表示する
                10.1.1  ファセットを使う
                10.1.2 JSFとデータベースについて
        10.2    行(row)のイベントを処理する
        10.3    大きな表を扱う
                10.3.1 データをソートする
                10.3.2 表をスクロールさせて見る
                10.3.3 表のルックスを良くする
        10.4    表のデータを編集する

11章     国際化対応
        11.1    アプリケーションの出力を現地語化する
                11.1.1 現地語のテキストを選ぶ
                11.1.2 日付や数値を書式化する
                11.1.3 メッセージを現地語化する
        11.2    現地語化されたアプリケーションの入力を扱う
        11.3    欧米以外の言葉を扱う

12章     JSF劇場の脇役たち
        12.1    複数のJSPファイルからひとつのビューを作る
                12.1.1 JSFのコンポーネントのあるページを静的にインクルードする
                12.1.2 JSFのコンポーネントのあるページを動的にインクルードする
        12.2    JSFのビューをほかのコンテンツと組み合わせる
        12.3    StrutsのアプリケーションでJSFを使う
                12.3.1 Struts-Faces統合化パッケージを使う
                12.3.2 StrutsのアプリケーションをJSFに移行させる
                12.3.3 新しいアプリケーションには何を使うか
        12.4    プログラムからコンポーネントを変える
        12.5    PhaseListenerを使う
        12.6    デバッグとエラー処理のアイデア
                12.6.1 Javaの標準的なデバッグテクニックを利用する
                12.6.2 Webアプリケーションの標準的なエラー処理を利用する
                12.6.3 開発時にステートをクライアント側に保存する
                12.6.4 ステートをPhaseListenerで捉える

13章     レンダラなどの差し替えクラスを自作する
        13.1    カスタムレンダラ(自作版レンダラ)を作る
                13.1.1 エンコーディングだけのレンダラ
                13.1.2 デコードもするレンダラ
        13.2    そのほかのカスタムクラスを使う
        13.3    カスタムクラスをパッケージする

14章     カスタムコンポーネントを作る
        14.1    既存のコンポーネントを拡張する
                14.1.1 TabbedRendererクラス
                14.1.2 UITabLabelクラス
                14.1.3 コンポーネントを登録する
                14.1.4 タグハンドラクラス
        14.2    まったく新しいコンポーネントを作る
                14.2.1 TreeModelクラス
                14.2.2 UITreeコンポーネントクラス
                14.2.3 TreeRendererクラス
                14.2.4 コンポーネントとレンダラを登録する
                14.2.5 タグハンドラ

15章     プレゼンテーション層を特製する
        15.1    ViewHandlerクラス
        15.2    ビューとしてJavaのクラスを使う
                15.2.1 ビューのクラスを作る
                15.2.2 ViewHandlerを作る
        15.3    HTMLのテンプレートとXMLによるビュー定義ファイルを併用する
                15.3.1 HTMLテンプレートとビューの仕様を作る
                15.3.2 ViewHandlerを作る

付録A     JSFの標準タグライブラリ
        A.1     JSFのタグライブラリのURIと接頭辞
        A.2     HTMLタグライブラリのアクション
                A.2.1 JSFで使えるHTML 4.01の属性
        A.3     コア(core)ライブラリのアクション

付録B     JSFの式言語のリファレンス
        B.1     シンタクス
                B.1.1 リテラル
                B.1.2 キーワードと予約語
        B.2     変数
                B.2.1 定義済み変数(implicit variables)
        B.3     データタイプ
                B.3.1 強制変換のルール
        B.4     式と演算子
                B.4.1 オペランドの評価と強制変換ルール

付録C     JSFの標準コンポーネントと標準レンダーキット
        C.1     コンポーネントクラスの種類
        C.2     レンダラと組み合わせて使うコンポーネント
                C.2.1 コンポーネントインタフェイス
                C.2.2 コンポーネントクラス
                C.2.3 モデルのクラスとインタフェイス
        C.3     HTMLレンダーキットのクラス
                C.3.1 レンダラクラス
                C.3.2 標準レンダラの動作
        C.4     HTML専用のコンポーネントクラス
        C.5     リクエスト処理のライフサイクル
                C.5.1 ビュー復元段階
                C.5.2 値取り出し段階
                C.5.3 検査処理段階
                C.5.4 モデルの値更新段階
                C.5.5 アプリケーション呼び出し段階
                C.5.6 リスポンス作成/表示段階

付録D     インフラストラクチャAPIのリファレンス
        D.1     パッケージjavax.faces
        D.2     パッケージjavax.faces.application
        D.3     パッケージjavax.faces.context
        D.4     パッケージjavax.faces.convert
        D.5     パッケージjavax.faces.el
        D.6     パッケージjavax.faces.event
        D.7     パッケージjavax.faces.lifecycle
        D.8     パッケージjavax.faces.render
        D.9     パッケージjavax.faces.validator
        D.10    パッケージjavax.faces.webapp
        D.11    JSFの標準メッセージのID

付録E     JSFのコンフィギュレーションファイルのリファレンス

付録F     Webアプリケーションの構造と展開記述子(web.xmlファイル)
        F.1     Webアプリケーションのファイル構造
                F.1.1 Javaのクラスファイルを正しいディレクトリに置く
        F.2     Webアプリケーションの展開記述子
                F.2.1 展開記述子の実例
        F.3     WARファイルの作り方

付録G     JSFの規格および参考実装のバージョン1.1の概説
        G.1     参考実装の変更事項
        G.2     規格の変更事項
        G.3     標準HTMLレンダーキットの変更事項

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]