Java EE 7徹底入門を読んだ(JSFあたり)

新年あけましておめでとうございます。
今年もよろしくお願いします。

さて、期間が空いてしまいましたが、JSFあたりを読みました。
JSFは2,3,4章が割り当てられており、この本の1/3近くを占めています。

JSFについてはこの本の中で一番良く書かれていると思いました。
JSFは歴史的経緯もあり、他の最近のJava EEの仕様に比べると実装と仕様の区別が甘く、
仕様がどうであれ動くようにしか動かないところがあります。

その中で、JSFの歴史を補足しながらJava EE 7の仕様までちゃんと説明できているというのは良いと思いました。
Java EE 5(もしくはJSF1.X系)は知ってるけれども最近のJSFは知らないという人が、JSFを使わなければいけなくなった時には読めばいいと思います。

新しく増えたFlashScopeやブックマーク可能なJSFのページの作り方もちゃんと載ってますよ。

ただ、初心者向けとしてはこれだけだとちょっと困るなぁというところもあり。
例えば、propertiesファイルはISO 8859-1 文字エンコーディングエンコードされなければいけない*1とか、Listへのデータバインディングはよく行うことですがバッサリ削ってしまっているのはちょっとなぁという感じ。
まあ、何かしら補足が必要でしょうね。

以下、気になったところ。

  • p47. 今となってはCDI管理ビーンJSFから呼び出せる程度なのでManagedBeanという表現は古い表現を引きずってる気がする。しかし、CDI管理ビーンも英語だとManagedBeanなのか・・・・・・(p49のコラムで補足されていますが)
  • p50. @Dependentアノテーションの説明があればjBatchで説明漏れが起きることもなかったのに・・・・・・
  • p54. ExternalContextの説明を端折ってしまったためp163で急に出てきた印象を受けてしまう。
  • p60. web.xmlではjsfの設定を省略できるという一言がほしかった。
  • p64. htmlとの対応表はここにほしかった。後で出てきているけど先に見たい気がする。
  • p71. Javaでフィールドというとインスタンスフィールドを思い浮かべるのでアクセサと言った方が良さそう。(フィールドで統一されているのでこの本を読んでいる限りは違和感はない)
  • p109. nullに変換した場合の弊害(パラメーター自体が飛んできていないのを把握できない)と、BeanValidationのカスタムバリデーターを作成することでblankのままValicationを行うことができるという一言は欲しかった気がする。
  • p164. プロパティファイルの文字エンコードの話が抜けている

と、いった感じ。
これらの章は安心して読めました。

Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築

Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築

*1:Java SE 6以降は文字コード指定によりUTF-8などでも読み込むことができるようになったがJSFの実装で使用しているメソッドがそれを使用していない、BeanValidationも同様