JSF2.2入門書とは
私はこれまで秀和システム等の出版社から合計20冊以上の本を書いてきましたが、最近の電子出版技術の発展により自分自身で最新情報を随時出版して行こうと思い、これを第一弾として出版します。
PrimeFacesについても出版しました。こちらの記事もどうぞ。
概要
本書はamazonのkindle版での提供です。紙の本ではありません。440ページあまりのボリュームで、最新のJava Server Faces 2.2に準拠した内容で書かれています。JSF2.2のタグを一通りカバーしていて、JSFの入門者からベテランまで参考にしていただける内容になっています。
これは中身の一部です。
いっしょに本書のサンプルプログラムもNetBeansのプロジェクトzipファイルで無料提供します。ご自分で動かして確かめることができます。
本書で使っている開発環境は、以下のとおりです。この環境でサンプルプログラムが動作することを確認しています。
【動作確認環境】
・OS: Windows8.1 Pro
・JSF: NetBeans8.0.2組み込みのMojarra 2.2(JSF2.2対応)
・JDK: JDK1.8.0_45 64ビットバージョン
・サーブレットコンテナ: GlassFish4.1
・ブラウザー: Google Chromeバージョン 43
サンプル
こちらから目次と本文の一部のPDFをダウンロードできます。(1.3MB)
ご購入
KindleUnlimited会員の方なら無料で読めます。
目次
目次はつぎのとおりで、基本的なことからカスタムコンポーネントの作成まで幅広くカバーしています。
内容 | page |
1.JavaServer Facesとは何か | 9 |
1-1JavaServer Facesの概要 | 10 |
1-2JavaServer Facesの役割、メリット | 13 |
1-3JSF開発の背景と実装製品 | 14 |
2.JSFの開発・実行環境 | 16 |
2-1JDKのインストール | 17 |
2-2NetBeans IDEのインストール | 22 |
2-3NetBeans IDEの動作確認 | 30 |
3.はじめてのJSFアプリケーション | 37 |
3-1基本的な開発ステップ | 38 |
3-1-1開発のステップ | 39 |
3-2マネージドビーンの利用と簡単な計算 | 40 |
3-2-1仕組み | 41 |
3-2-2マネージドビーン作成 | 42 |
3-2-3ページ作成 | 48 |
3-2-4実行 | 52 |
3-3入力値のチェック | 54 |
3-3-1仕組み | 55 |
3-3-2ページにバリデーションタグを追加 | 56 |
3-4ページの移動 | 62 |
3-4-1仕組み | 63 |
3-4-2マネージドビーン作成 | 66 |
3-4-3ページ作成 | 68 |
3-4-4実行 | 71 |
3-5表示フォーマットの指定 | 72 |
3-5-1仕組み | 73 |
3-5-2マネージドビーン作成 | 74 |
3-5-3ページ作成 | 76 |
3-5-4実行 | 78 |
3-6データ変換 | 80 |
3-6-1ページ作成 | 81 |
3-6-2実行 | 82 |
3-7送信ボタンをリンクに変える | 84 |
3-7-1ページ作成 | 85 |
3-7-2実行 | 86 |
4.JSTのタグ・リファレンス | 87 |
4-1概要 | 88 |
4-1-1JSFタグの基本的な使い方 | 93 |
4-2form | 94 |
4-3commandButton | 96 |
4-3-1ボタンでデータ送信 | 98 |
4-3-2画像のボタン | 100 |
4-3-3ボタンで単純なページナビゲーション | 102 |
4-3-4ボタン毎に違うページに移動 | 104 |
4-3-5入力内容のチェック後に移動先を決定 | 109 |
4-3-6ボタンの国際化対応 | 115 |
4-3-7ボタンにスタイルシート適用 | 122 |
4-4commandLink | 124 |
4-4-1コマンドボタンのようにフォームを送信 | 125 |
4-4-2文字リンク | 127 |
4-4-3パラメータ付文字リンク | 129 |
4-5message | 136 |
4-6messages | 140 |
4-7inputText/outputText | 142 |
4-7-1日付入力 | 143 |
4-7-2時刻入力 | 145 |
4-7-3日付と時刻の入力 | 147 |
4-7-4文字・数字・金額の入力 | 149 |
4-8inputTextarea | 152 |
4-9inputSecret | 154 |
4-10inputHidden | 156 |
4-11outputLabel | 157 |
4-12outputFormat | 161 |
4-12-1スタイルシート適用 | 162 |
4-12-2パラメーターを使った出力 | 164 |
4-13graphicImage | 165 |
4-13-1画像表示 | 166 |
4-14selectItem | 167 |
4-15selectItems | 168 |
4-16selectOneRadio | 169 |
4-16-1selectItemを使う場合 | 171 |
4-16-2selectItemsを使う場合 | 174 |
4-17selectOneMenu | 177 |
4-17-1selectItemを使う場合 | 178 |
4-17-2selectItemsを使う場合 | 180 |
4-18selectOneListbox | 181 |
4-18-1selectItemを使う場合 | 182 |
4-18-2selectItemsを使う場合 | 183 |
4-18-3スクロールのメニュー | 184 |
4-19selectBooleanCheckbox | 185 |
4-20selectManyCheckbox | 187 |
4-20-1selectItemを使う場合 | 189 |
4-20-2selectItemsを使う場合 | 191 |
4-21selectManyMenu | 192 |
4-21-1selectItemを使う場合 | 193 |
4-21-2selectItemsを使う場合 | 194 |
4-22selectManyListbox | 195 |
4-22-1selectItemを使う場合 | 196 |
4-22-2selectItemsを使う場合 | 198 |
4-23panelGrid | 199 |
4-24panelGroup/facet | 201 |
4-25dataTable/column | 203 |
4-26view | 207 |
4-27actionListener | 208 |
4-28attribute | 211 |
4-29convertDateTime | 212 |
4-30convertNumber | 214 |
4-30-1通貨 | 215 |
4-30-2書式指定 | 216 |
4-31converter | 217 |
4-32facet | 218 |
4-33loadBundle | 219 |
4-34param | 220 |
4-35subview | 221 |
4-36validateDoubleRange | 223 |
4-37validateLength | 225 |
4-38validateLongRange | 227 |
4-39validator | 229 |
4-40valueChangeListener | 230 |
4-41verbatim | 234 |
5.JSFページのライフサイクル | 235 |
5-1標準的なリクエスト処理ライフサイクル | 236 |
5-1-1ビュー復元フェーズ(Restore view phase) | 238 |
5-1-2リクエスト値の適用フェーズ(Apply Request Values phase) | 241 |
5-1-3バリデーション実行フェーズ(Process Validation phase) | 242 |
5-1-4モデル値の更新フェーズ(Update Model Values phase) | 243 |
5-1-5アプリケーション起動フェーズ(Invoke Application phase) | 244 |
5-1-6レスポンス出力フェーズ(Render Response phase) | 245 |
6.マネージドビーン | 246 |
6-1マネージドビーンという仕組み | 247 |
6-1-1マネージドビーンの登録 | 249 |
6-1-2JSFコンポーネントとマネージドビーンのバインディング | 253 |
6-2マネージドビーンのプロパティの書き方 | 254 |
6-2-1基本 | 255 |
6-2-2UIInput/UIOutput/UISelectItem/UISelectOne用のプロパティ | 257 |
6-2-3UIData用プロパティ | 259 |
6-2-4UISelectBoolean用プロパティ | 265 |
6-2-5UISelectMany用プロパティ | 266 |
6-2-6UISelectItemsプロパティ | 268 |
6-3データベースとの連携 | 270 |
6-3-1データベース作成とテーブル作成 | 271 |
6-3-2サンプルデータの登録 | 276 |
6-3-3データベースの検索結果をプロパティにセットする | 280 |
6-4プロパティの初期化 | 286 |
6-4-1managed-property要素を使ったプロパティの初期化 | 287 |
6-4-2初期パラメータの参照 | 290 |
6-4-3Map型プロパティの初期化 | 293 |
6-4-4マネージドビーンのプロパティの初期化 | 297 |
6-4-5UIコンポーネント自体をビーンのプロパティにバインディング | 299 |
7.バインディング | 302 |
7-1プロパティへのバインディング | 303 |
7-2暗黙オブジェクトへのバインディング | 304 |
7-2-1初期値を読み込む initParam | 305 |
7-2-2applicationスコープへの情報保存 applicationScope | 307 |
7-2-3sessionスコープへの情報保存 sessionScope | 310 |
7-2-4requestスコープへの情報保存 requestScope | 311 |
7-2-5ヘッダー情報を取得 header | 312 |
7-2-6リクエストのパラメータ取得 param | 314 |
7-3ページナビゲーションのためのバインディング | 316 |
8.イベントハンドリング | 320 |
8-1送信ボタンが押されたら(UICommand用イベントリスナー) | 321 |
8-1-1commandButtonタグのactionListenerプロパティの利用 | 322 |
8-2フォームの入力値が変わったら(UIInput用イベントリスナー) | 331 |
8-2-1commandButtonタグのvalueChangeListenerプロパティの利用 | 332 |
8-2-2valueChangeListenerタグの利用 | 336 |
9.バリデーション | 340 |
9-1入力の有無のバリデーション | 341 |
9-2浮動小数点のバリデーション | 343 |
9-3整数のバリデーション | 345 |
9-4文字数のチェック | 347 |
9-5カスタムバリデータ | 349 |
9-5-1inputTextタグなどのvalidatorプロパティ利用 | 350 |
9-5-2validatorタグの利用 | 355 |
9-5-3カスタムタグの利用 | 356 |
10.コンバータ | 362 |
10-1標準コンバータ | 363 |
10-1-1コンポーネントの値の型とマネージドビーンのプロパティの型を一致させる方法 | 364 |
10-1-2コンポーネントのconverterプロパティの利用、converterタグの利用 | 366 |
10-1-3DateTimeConverterの利用 | 368 |
10-1-4convertNumberの利用 | 369 |
10-1-5カスタムコンバータの作成と利用 | 370 |
11.ページナビゲーション | 375 |
11-1単純なページナビゲーション | 376 |
11-1-1ナビゲーションのしくみ | 377 |
11-1-2サンプル | 378 |
11-2条件判断によるナビゲーション | 380 |
11-2-1マネージドビーンのメソッド利用 | 381 |
11-3ハイパーリンクによるナビゲーション | 384 |
12.メッセージ | 386 |
12-1JSFページでのメッセージ | 387 |
12-2マネージドビーンでのメッセージ | 391 |
13.カスタムコンポーネント | 395 |
13-1カスタムコンポーネントの基礎知識 | 396 |
13-1-1javax.faces.componentパッケージ | 397 |
13-1-2パッケージ概要 | 398 |
13-2レンダラー | 400 |
13-3カスタムレンダラーの開発ステップ | 401 |
13-4会員番号入力コンポーネント(自己レンダリング) | 402 |
13-4-1マネージドビーン | 403 |
13-4-2カスタムコンポーネント | 404 |
13-4-3タグライブラリディスクリプタ(TLD) | 409 |
13-4-4web.xmlの編集 | 411 |
13-4-5JSFページ | 412 |
13-5会員番号入力コンポーネント(外部レンダリング利用) | 414 |
13-5-1タグハンドラー | 415 |
13-5-2タグライブラリディスクリプタ(TLD) | 416 |
13-5-3カスタムコンポーネント | 418 |
13-5-4外部レンダラー | 420 |
13-5-5web.xmlの編集 | 423 |
13-5-6JSFページ | 424 |