- - PR -
TimestampeのBena
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-09-25 20:07
Strutsとorg.apache.commons.dbutils.handlers.BeanListHandlerを使って開発しようと考えています。その際にDB上でDate型のフィールドをTimestampで受け取りたいと考えています。
BeanListHandlerを使うため、DB上でDate型のフィールドに対応したBeanのプロパティをTimestamp型にしなければなりません。しかし、そのBeanのプロパティをJSPでStrutsのタグライブラリを使って表示しようとすると、Timestampの仕様から「年」や「月」などが求めている数値(年は2004、月は一月を1とした連番)で帰ってきません。どこかでデータの変換をしないといけないのですが、どのように解決するのが一番良い方法なのかわかりません。どのように解決したらよいのか教えてください。 自分自身での解決際。 ・beanにプロパティの追加する。そして、データベースからデータを取り出した後Beanから日付けデータを取り出すし、その日付データを加工して追加したプロパティにデータをセットする。 ・独自のタグライブラリを作りデータを加工して表示する。 beanの例 public class TestBean { public Timestamp test; /** * @return */ public Timestamp getTest() { return test; } /** * @param timestamp */ public void setTest(Timestamp timestamp) { test = timestamp; } } データベースの例 TEST ←(カラム名) ---------------- 2004/09/26 20:00 ←(データ) タグの使用例(keyをtestとして入れた場合。) <bean:write name="test" property="test.year" /> _________________ |
|
投稿日時: 2004-09-26 05:21
1)Timestamp 型から年、月、日などの値を個別に取り出したい
2)Bean のプロパティとして年、月、日を取り出したい という2つの要件でしょうか? 1)については、Timestamp は Date 型の子クラスですので SimpleDateFormat 等をつかって好きな値を取り出すことができます。 http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html 2)については、それぞれの getter を作って1)で取り出した値を返すように実装すれば良いかと思います。 |
|
投稿日時: 2004-09-26 18:49
ありがとうございます。まさに、SimpleDateFormatをつかった解決方法が、<bean:write>タグにありました。
解決方法 タグの使用例(keyをtestとして入れた場合) <bean:write name="test" format="yyyy/MM/dd HH:mm" /> |
1