- PR -

Struts のタグライブラリによる、セッション内の JavaBean の操作方法について

1
投稿者投稿内容
hawk32
会議室デビュー日: 2003/06/17
投稿数: 10
投稿日時: 2003-12-17 16:17
みなさん。こんにちは。

早速ですが、最近 Struts を勉強しているのですが、
下記の点について疑問を覚え、皆様へご相談させて頂きました。

些細な事でも結構ですので、アドバイスを頂けると幸いです。


---- ここから ----

■使用環境

・J2SE 1.4.1_05
・Apache Tomcat 4.1.27
・Struts 1.1


■状況説明

・下記のようなフィールドを持つ JavaBean があったとする。

コード:
 public class SampleBean {
 	
 	private Calendar birthday;
 	
 	... ゲッター、セッターを記述 ...
 }


・SampleBean に値を設定し、アクションクラス内で、サーブレットのセッションに保存したとする。

コード:
 SampleBean sampleBean = ...
 HttpSession session = req.getSession(true);
 session.setAttribute("GUEST", sampleBean);


・JSP でセッション内の SampleBean の birthday フィールドを取得する際、

 bean タグの define の機能で SampleBean の birthday フィールドを変数化し、

 変数化した sb を Calendar クラスへキャストして、日付を得るような事を行なっております。

コード:
 <bean:define id="sb" name="GUEST" property="birthday" />

 <%= ((Calendar)sb).get(Calendar.YEAR) %>



■ご相談内容

・上述のような JavaBean 内のオブジェクトを操作する
 方法として、他にどのような手法がございますか?


---- ここまで ----
でくのぼう
大ベテラン
会議室デビュー日: 2003/10/06
投稿数: 162
投稿日時: 2003-12-17 16:45
<bean:write> タグのフォーマットに関する属性について調べられると
別の解法も浮かんでくるかと思われます。
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2003-12-17 16:50
こういう漠然とした質問には漠然とした答えしか返ってこないですよ。
聞きたいことがあるなら的確に聞いた方がいいです。
「もっといい方法ないですか?」と聞くだけでかなり違う。
hawk32
会議室デビュー日: 2003/06/17
投稿数: 10
投稿日時: 2003-12-26 14:09
でくのぼうさん。ばんさん。
アドバイスありがとうございます。

また、返信が大変遅くなり申し訳ないです。
返信したつもりだったのですが、寝ぼけていたのか、
書き込まれていなかったので、遅ればせながらご返信させて頂きます。


■現時点での結論

・JavaBean 内の Calendar 型のフィールドを扱う場合、
 標準のタグライブラリのみでは、タグライブラリとスクリプトレットが
 入り混じったコードになってしまう為、独自にタグライブラリを用意する方が
 コードがスッキリとする。

・JavaBean 内のフィールドが Date 型の場合は、<bean:write> タグの
 format 属性で java.text.SimpleDateFormat のフォーマット指定が可能。

以上
1

スキルアップ/キャリアアップ(JOB@IT)