今回はJavaEEの「バッキングビーン」について、初心者にもわかりやすく解説します。JSF(JavaServer Faces)を使ったWeb開発で必ず登場する重要な概念です。
バッキングビーンのイメージと役割
「バッキングビーン」とは、JSFページ(.xhtmlなど)とJavaのプログラムをつなぐ役割を持つJavaクラスです。フォームの入力値を受け取ったり、画面に値を返したりする“橋渡し”のような存在です。
フォーム画面のイメージ例
自己紹介登録
苗字:
名前:
特技:
趣味:
上記はHTML例ですが、実際のJSFでは<h:inputText>
タグとバッキングビーンのプロパティをバインドして使います。
※このHTMLは入力しても何も起きませんが、JSFでは入力値がJavaクラスに自動で連携されます。
バッキングビーンとは?
バッキングビーンは、JSFページとJavaプログラムの間でデータをやりとりするJavaクラスです。フォームの入力内容をJavaのプロパティに自動でセットしたり、Java側の値を画面に表示したりできます。
バッキングビーンのサンプルコード
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class ProfileBean {
private String myou;
private String name;
private String tokugi;
private String syumi;
// ゲッター・セッター
public String getMyou() { return myou; }
public void setMyou(String myou) { this.myou = myou; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getTokugi() { return tokugi; }
public void setTokugi(String tokugi) { this.tokugi = tokugi; }
public String getSyumi() { return syumi; }
public void setSyumi(String syumi) { this.syumi = syumi; }
}
JSFページとのバインド例
<h:form>
苗字: <h:inputText value="#{profileBean.myou}" maxlength="10" /><br />
名前: <h:inputText value="#{profileBean.name}" maxlength="10" /><br />
特技: <h:inputText value="#{profileBean.tokugi}" maxlength="10" /><br />
趣味: <h:inputText value="#{profileBean.syumi}" maxlength="10" /><br />
<h:commandButton value="登録" action="#{profileBean.submit}" />
</h:form>
このように、value="#{profileBean.プロパティ名}"
と書くことで、フォームとJavaのプロパティが自動的に連携(バインド)されます。
バッキングビーンの主な用途とメリット
- フォーム入力値の受け取り・画面表示
- ボタン押下などのイベント処理
- バリデーションや変換処理の実装
- データベースや他サービスとの連携
バッキングビーンを使うことで、画面とロジックの分離ができ、保守性や再利用性が高まります。
まとめ
- バッキングビーンはJSFページとJavaクラスをつなぐ“橋渡し役”
- フォームの値をJavaオブジェクトで簡単に扱える
- バインドやイベント処理、バリデーションなど幅広く活用できる
バッキングビーンを理解すれば、JSFによるWebアプリ開発がぐっと楽になります。
最後まで読んでいただきありがとうございました。