JSF 【JavaServer Faces】 Jakarta Server Faces
概要
JSF(JavaServer Faces)とは、Java言語を用いてWebアプリケーションを開発するためのフレームワークの一つ。Javaの開発元である米オラクル(Oracle)社が開発・提供しているもので、その仕様はJakarta EE(Java EE)の一部として取り込まれている。Webサーバでデータの管理や処理を行い、Webクライアント(Webブラウザなど)で表示・入力・操作を行うWebアプリケーションを構築するための諸機能を提供する。様々なコンポーネント(ソフトウェア部品)を組み合わせてWebサーバの提供する機能やデータと連動・連携するWebページを動的に生成することができる。
基本的な機能として、アプリケーションの状態の管理やイベント処理、入力値の検証(バリデーション)、Webページ上の表示・入力領域とサーバ上のデータとの対応付け(バインディング)、多言語対応、Webアクセシビリティ対応、HTMLを利用した基本的なユーザーインターフェース要素(UIコンポーネント)などが提供される。
サーバ上でのWebページ生成には当初はJSP(JavaServer Pages)が用いられてきたが、JSF 2.0からは「Facelets」(フェイスレット)と呼ばれるテンプレートエンジンが採用されている。これはHTMLをXMLで定義し直したXHTMLを基盤とする技術で、UI要素などをHTMLページにXMLタグで埋め込むか、HTMLタグに独自のjsfc属性を追加してアプリケーション上の情報を記述する。
2004年に初版(JSF 1.0)が発行され、2006年のJSF 1.2でJava EEに統合された。2009年のJSF 2.0でAjaxに対応し、2013年のJSF 2.2でHTML5に対応、2017年のJSF 2.3でWebSocketに対応するなど、Web環境の進歩に合わせて新技術の取り込みが行われている。
(2023.4.18更新)