PrimeFaces入門


titlePF

katatsumuri本書について

PrimeFacesバージョン5.2(2016年7月現在リリースされているバージョンは5.3)に対応した入門書、解説書です。

私はこれまで秀和システム等の出版社からサーブレットなどに関する本を20冊以上の本を書いてきましたが、最近の電子出版技術の発展により自分自身で最新情報を随時出版して行こうと思い、JavaServer Faces2.2に次いでこれを第二弾として出版します。

本書は以下に紹介するように、販売用サイトでPDF版を販売しております。またamazonではKindle版を販売しております。購入者の方にはサンプルコードも無料で提供しています。本書はA4版で400ページ以上のボリュームがあります。PDF版では次のように「しおり」が設定されていますので見たいところがすぐに見られます。

PF5

katatsumuriPrimeFacesとは

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
・その他必要ライブラリは文中に記載

leafPrimeFacesでできること

本書の中で紹介しているサンプルのなかからいくつか特徴的なものを紹介します。

これはページ切替ができるデータテーブルです。表示するデータはマネージドビーンで用意して、<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″>

PF1

次はドーナッツチャートです。これもデータはマネージドビーンで供給して、表示はp:chartタグを使います。

<p:chart type=”donut” model=”#{chartDataBean3.donutModel}” style=”width:400px;height:300px” />

PF2

次はコンテントフローというパネル系のタグです。画像はマネージドビーンで供給して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>

PF3

MacのDocを真似たものです。カーソルを動かすと、そこのところのアイコンが大きくなるもの。クリックすると実行されます。

<p:dock position=”bottom”>

PF4

leafサンプル

こちらから目次と本文の一部のPDFをダウンロードできます。(10MB)

leafご購入

PDF版は私が運営するhttp://programming.shop-pro.jp/からお願いします。


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