JSPでのスコープ管理にJavaBeansを使うまとめ
JSPのuseBeanタグについてようやく理解ができたのでまとめメモ。JSPを書いている時に、JavaBeansを使ってタグ1つでオブジェクトを取り出したいとき下記のような書き方をすることができる。
<jsp:useBean id="オブジェクトの名前" scope="保管場所" class="完全クラス名">
これでオブジェクトの生成or参照が可能。また、対象オブジェクトのセッターを呼び出すときには
<jsp:setProperty name="オブジェクトの名前" property="オブジェクトのメンバ変数" value="セットする値">
とすればいいし、逆にgetterを呼び出すときには
<jsp:getProperty name="オブジェクトの名前" property="オブジェクトのメンバ変数" value="ゲットする値">
ここで先に記述したuseBeanタグのidと、setPropatyやgetPropatyタグでのnameには同じ値が入る。
もちろんサーブレット直書きするみたいにrequest.getAttribute()とかしてもいいんだけど、本来Viewの役割をさせているJSP側であまりJavaのコードを目立つように書きたくないから使える、ってことだけ覚えた。
はじめのうちはgetPropertyでオブジェクト本体を取ってくるのかと思ってたけど、オブジェクトは < jsp:useBean ほげほげ~ > で参照できているから、getPropertyはメンバ変数のゲッターを呼び出しているだけだ、ってことに気づいた。