- PR -

Strutsで、Beanの属性を編集して表示

1
投稿者投稿内容
もなむ
会議室デビュー日: 2004/06/08
投稿数: 16
投稿日時: 2004-06-17 10:05
BeanのプロパティをJSPから表示しようとする際に、編集してから表示する
方法で悩んでおります。
具体的には、、、、

コード:
-----HogeBean.java-----
HogeBean{
    protected Date dateValue;

    〜getter/setterがある〜

}

-----Hoge.jsp-----
 :
<%
    DateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
    HogeBean bean = (HogeBean)request.getAttribute("〜〜〜");
%>
 :
    <%= formatter.format( bean.getDateValue() ) %>
 :



このHoge.jspでの出力をTaglibを使ってシンプルにかけないものかと考えています。

自分の中での解決策は、
1)上記のまま
2)HogeBeanのプロパティにformatedDateValueなどを定義して、bean:writeでJSPに書く
しか思いつきません。

2)の方法をとると、BeanにViewのための情報を保持することになり、なんとなく
しっくり来ない気がしています。

みなさん、Beanのプロパティを編集して表示する場合はどのようにされていますか?

カヌー
会議室デビュー日: 2003/01/14
投稿数: 19
投稿日時: 2004-06-17 11:53
お疲れ様です。

引用:

BeanにViewのための情報を保持する


MVCモデルの場合はBeanにViewのための情報を保持するのは間違っていないと思いますが、このような表示箇所によってフォーマットが変わる可能性があるデータはタグでフォーマット変換する方が一般的かもしれません。
私は日付表示用のタグを作ったりもしましたが、
JSTLのfmtタグとかでも出来るんじゃないでしょうか?使ったことないのでわかりませんが。。。
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 2004-06-17 12:58
Strutsのカスタムタグのbean:writeタグに属性でformatというのが
あり、それを使用すると出力するフォーマットを指定できますよ。

例:
<bean:write name="testBean" property="day" format="yyyy年MM月dd日"/>

下記サイトなどが参考になるかと思います。
URL:
http://www.techscore.com/tech/Java/index.html
もなむ
会議室デビュー日: 2004/06/08
投稿数: 16
投稿日時: 2004-06-17 13:12
引用:

<bean:write name="testBean" property="day" format="yyyy年MM月dd日"/>



やりたかったことはまさにこれです。
ありがとうございました。
1

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