本書について
PrimeFacesバージョン5.2(2016年7月現在リリースされているバージョンは5.3)に対応した入門書、解説書です。
私はこれまで秀和システム等の出版社からサーブレットなどに関する本を20冊以上の本を書いてきましたが、最近の電子出版技術の発展により自分自身で最新情報を随時出版して行こうと思い、JavaServer Faces2.2に次いでこれを第二弾として出版します。
amazonでKindle版を販売しております。購入者の方にはサンプルコードも無料で提供しています。本書はA4版相当で400ページ以上のボリュームがあります。
PrimeFacesとは
PrimeFacesはヨーロッパのトルコにあるPrimeTek Informatics社が開発したオープンソースのソフトウェアで、JavaServer Faces技術を実装したライブラリです。これはRichFaces、Icefaces、mojjaraなど多くのJSFインプリメンテーションの中で最も人気のあるものです。次のシェアグラフはhttp://www.primefaces.org/images/all.pngより引用。No.1人気。
PrimeFacesはJava Server FacesでWebアプリケーションを開発するときにテキスト入力、カレンダー入力、ボタンなど多彩でクールなユーザーインターフェースが標準タグで用意されています。最小のプログラミングですぐに使うことができます。CSSやビジュアル効果はjQueryを使っているところもあるみたいです。
本書はPrimeFacesの使い方について、「こんなところに使いたい」というサンプルをあげて具体的に解説しています。PrimeFacesのデモサイトにあるサンプルなども参考にしましたが、デモサイトやPrimeFacesのマニュアルは解説が少なかったり、書かれていることが古かったり、矛盾がありました。本書にあるサンプルは執筆時点において実行できることを著者自身が確認しています。
【想定している読者】
・Javaプログラミングについて一般的な知識と経験をもっている
・Java Server Facesについて使ったことがある
・統合開発環境NetBeansまたはEclipseなどを使用しているまたはしたことがある
本書で使っている開発環境は以下のとおりです。
【動作確認環境】
・OS: Windows8.1 Pro
・IDE: NetBeans8.0.2
・JDK: JDK1.8.0_45 64ビットバージョン
・PrimeFaces バージョン5.2
・サーブレットコンテナ: GlassFish4.1
・ブラウザー: Google Chromeバージョン 48
・その他必要ライブラリは文中に記載
PrimeFacesでできること
本書の中で紹介しているサンプルのなかからいくつか特徴的なものを紹介します。
これはページ切替ができるデータテーブルです。表示するデータはマネージドビーンで用意して、<p:dataTable>を使って表示します。
<p:dataTable class=”table” var=”stock” value=”#{stockDataBean.stocks}” rows=”3″ paginator=”true” paginatorTemplate=”{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}” rowsPerPageTemplate=”5,10,15″>
次はドーナッツチャートです。これもデータはマネージドビーンで供給して、表示はp:chartタグを使います。
<p:chart type=”donut” model=”#{chartDataBean3.donutModel}” style=”width:400px;height:300px” />
次はコンテントフローというパネル系のタグです。画像はマネージドビーンで供給してp:contentFlowタグで表示します。画像はMac風に表示されて左右にドラッグしたりクリックすると順次流れます。Cool!!
<p:contentFlow value=”#{contentFlowBean.images}” var=”image” styleClass=”cf”>
<p:graphicImage url=”/images/kyoto/#{image.imageFile}” styleClass=”content” />
<div class=”caption textcolor”>#{image.description}</div>
</p:contentFlow>
MacのDocを真似たものです。カーソルを動かすと、そこのところのアイコンが大きくなるもの。クリックすると実行されます。
<p:dock position=”bottom”>
サンプル
こちらから目次と本文の一部のPDFをダウンロードできます。(10MB)
ご購入
amazonのKindle版で提供しています。
目次
1. | PrimeFacesとは | 10 |
1.1. | 特徴 | 11 |
1.2. | 入手とセットアップ | 12 |
1.3. | PrimeFacesとその他のJSF実装製品 | 15 |
2. | テキスト系 | 17 |
2.1. | inputText | 19 |
2.2. | Watermark | 21 |
2.3. | AutoComplete | 23 |
2.4. | Keyboard | 31 |
2.5. | InputMask | 38 |
2.6. | Password | 39 |
2.7. | InputTextarea | 42 |
2.8. | Inplace | 47 |
2.9. | Editor | 55 |
2.10. | OutputLabel | 60 |
2.11. | ResetInput | 62 |
2.12. | Spotlight | 63 |
3. | ラジオボタン系 | 66 |
3.1. | SelectOneRadio | 66 |
3.2. | radioButton | 69 |
4. | チェックボックス系 | 71 |
4.1. | SelectBooleanCheckbox | 71 |
4.2. | SelectManyCheckbox | 76 |
4.3. | SelectCheckboxMenu | 78 |
5. | リストとプルダウンメニュー系 | 82 |
5.1. | SelectOneListbox | 82 |
5.2. | MultiSelectListbox | 88 |
5.3. | SelectOneMenu | 93 |
5.4. | SelectManyMenu | 97 |
6. | カレンダー系 | 100 |
6.1. | Calendar | 100 |
6.2. | Schedule | 108 |
7. | スピナー系 | 115 |
7.1. | Spinner | 116 |
8. | スライダー系 | 118 |
8.1. | Slider | 118 |
8.2. | Rating | 121 |
9. | 色系 | 122 |
9.1. | ColorPicker | 122 |
10. | スイッチ系 | 126 |
10.1. | inoutSwitch | 126 |
11. | ボタン系 | 129 |
11.1. | CommandButton | 129 |
11.2. | Button | 133 |
11.3. | SelectBooleanButton | 136 |
11.4. | SelectOneButton | 137 |
11.5. | SelectManyButton | 138 |
11.6. | SplitButton | 139 |
12. | リンク系 | 142 |
12.1. | commandLink | 142 |
12.2. | link | 145 |
13. | リスト系 | 146 |
13.1. | DataList | 146 |
13.2. | OrderList | 151 |
13.3. | PickList | 155 |
14. | 画像系 | 160 |
14.1. | GraphicImage | 160 |
14.2. | ImageSwitch | 176 |
14.3. | Galleria | 180 |
14.4. | PhotoCam | 185 |
14.5. | ImageCompare | 190 |
14.6. | ImageCropper | 192 |
15. | 特殊な表示系 | 197 |
15.1. | Clock | 198 |
15.2. | Diagram | 199 |
16. | テーブル系 | 205 |
16.1. | 基本DataTable | 209 |
16.2. | ページ切替可能なDataTable | 214 |
16.3. | ソート可能なDataTable | 217 |
16.4. | 複数列でソート可能なDataTable | 220 |
16.5. | フィルター可能なDataTable | 221 |
16.6. | 行が選択可能なDataTable | 232 |
16.7. | 行が複数選択可能なDataTable | 235 |
16.8. | 列をグルーピングしたDataTable | 237 |
16.9. | 小計つきDataTable | 240 |
16.10. | クリックで詳細表示できるDataTable | 243 |
16.11. | 編集可能なDataTable | 246 |
16.12. | 左右にスクロール可能なDataTable | 252 |
16.13. | 条件によって色をつけるDataTable | 254 |
16.14. | Collector | 256 |
16.15. | DataExporter | 261 |
17. | チャート系 | 264 |
17.1. | PieChart | 267 |
17.2. | DonutChart | 274 |
17.3. | BarChart | 277 |
17.4. | LineChart | 283 |
17.5. | BubbleChart | 290 |
17.6. | OhlcChart | 293 |
17.7. | MeterGaugeChart | 298 |
17.8. | CombinedChart | 300 |
17.9. | MultipleAxis | 303 |
18. | メッセージ系 | 307 |
18.1. | ConfirmDialogとメッセージ表示 | 307 |
18.2. | Message | 314 |
18.3. | messages | 316 |
18.4. | NotificationBar | 320 |
18.5. | progressBar | 322 |
19. | パネル(コンテナ)系 | 326 |
19.1. | Layout、layoutUnit | 326 |
19.2. | AccordionPanel、tab | 335 |
19.3. | Carousel | 339 |
19.4. | ContentFlow | 345 |
19.5. | Dashboard | 348 |
19.6. | DataGrid | 353 |
19.7. | dataScroller | 358 |
19.8. | FieldSet | 362 |
19.9. | LightBox | 364 |
19.10. | OverlayPanel | 368 |
19.11. | Panel | 371 |
19.12. | PanelGrid | 374 |
19.13. | PanelMenu | 376 |
19.14. | Ribbon、RibbonGroup | 380 |
19.15. | ScrollPanel | 385 |
19.16. | TabMenu | 387 |
19.17. | TabView | 389 |
19.18. | TagCloud | 391 |
20. | ナビゲーション系 | 394 |
20.1. | Menu、SubMenu、MenuItem | 398 |
20.2. | MenuButton | 399 |
20.3. | MenuBar | 402 |
20.4. | MegaMenu | 404 |
20.5. | SlideMenu | 407 |
20.6. | TieredMenu | 409 |
20.7. | Ring | 411 |
20.8. | Toolbar | 417 |
20.9. | Tree、TreeNode | 419 |
20.10. | TreeTable | 422 |
20.11. | Wizard | 426 |
20.12. | Breadcrumb | 432 |
20.13. | ContextMenu | 433 |
21. | Mac風デザイン | 435 |
21.1. | Doc | 436 |
21.2. | Stack | 439 |
21.3. | Growl | 442 |
22. | その他 | 445 |
22.1. | Poll | 448 |
22.2. | IdleMonitor | 450 |
22.3. | Mindmap | 451 |
22.4. | RemoteCommand | 457 |
22.5. | Draggable | 458 |
22.6. | Drop | 460 |
22.7. | Resizable | 463 |
22.8. | FileUpload | 465 |
22.9. | FileDownload | 470 |
22.10. | Printer | 474 |
22.11. | Effect | 476 |
22.12. | FeedReader | 478 |
22.13. | GMap | 480 |
22.14. | Media | 481 |
22.15. | Captcha | 482 |
23. | テーマ | 484 |
23.1. | テーマを変える | 485 |