はじめに
本稿では、Java Enterprise Edition 6で採用されたJSF(JavaServer Faces)について紹介します。
対象読者
- Java EE 6開発に興味がある方
- これからJavaのWebアプリケーション開発をはじめる方
必要な環境
動作環境は以下のとおりです。
- Java EE 6
- NetBeans 6.9.1
JSF(JavaServer Faces)とは
JavaServer Faces(以下、JSF)が採用された当初は、従来のJavaWebアプリケーションと同様にJSPを使い、その中にJSFのタグを追加していくものでした。JSPはHTMLに近い内容で記述できることがメリットでしたが、現在Webの世界では、Ajaxによる非同期通信や、jQueryUIに代表されるUIコンポーネントも含んでいる非常に優れたライブラリが頻繁に使われるのに対して、JSPが行うのは動的HTMLの生成のみであるため、これらのUIコンポーネントへの対応が緊急の課題でした。
これらの要求に対して、JSPでも、既存のタグを拡張するためのタグライブラリという機能も提供されていますが、独自にタグを拡張するのは技術的に難しく、手間がかかるため、やや敬遠されているのが現状です。
そこで、新仕様としてFaceletsが採用されました。Faceletsは従来どおりのJSPのようにタグで記述するところは変わらないまま、新たに利便性に優れたタグを用意しており、JSPは利用しません。拡張の難しかったタグ拡張も容易になり、コンパイルも不要であるため、非常に軽快です。現在、JSFは2.0が主流ですが、2.1、2.2の正式リリース計画が着々と進んでいるので、時代にあわせて新しい機能が次々と生まれてくるでしょう。
JSF 2.0とFacelets
JSF 2.0を扱う上では、新しく採用されたFaceletsとの関係も忘れてはいけません。FaceletsはJSF用のライブラリです。Faceletsは名前こそ異なりますが、記述する内容はJSFないしはHTMLと同じです。このファイルは一般的にはXMLで記載されます。