[Seasar-user:6073] S2Dxoを使用した Timestamp→String の整形がうまくいきません

藤中佑司 [E-MAIL ADDRESS DELETED]
2007年 2月 8日 (木) 12:10:46 JST


はじめまして。お世話になります藤中と申します。
メーリングリストのログや、Webを検索してみましたが
どうしても対応方法がわかりません。
ご指摘お願い致します。

利用環境:s2-framework-2.4.9, s2-extension-2.4.9
S2Dxoを使用し、Bean⇔Mapの変換をしています。

Timestamp型の文字列を整形する為に
String TIMESTAMP_PATTERN = "yyyy/MM/dd HH:mm:ss";
を宣言しているのですがBean⇔Mapの変換に適用されず、
例:2007-02-05 17:39:09.0 のように表示されてしまいます。

そこで以下のようなOGNL式を自分で定義してやるとうまく変換してくれましたが、
何か変換してくれない原因があるのでは無いかと思い、悩んでいます。
また、java.util.List<JavaBeans> → java.util.List<java.util.Map>
の変換を行おうとするとNoSuchMethodErrorが発生してしまいます。

public interface hogeDxo {
    String RULE_HOGE_DATE_STRING2TIMESTAMP =
        "'HOGE_DATE' : HOGE_DATE == null ? null : " +
            "new java.text.SimpleDateFormat(\"yyyy/MM/dd HH:mm:ss\").format(HOGE_DATE) ";
    String RULE_HOGE_DATE_TIMESTAMP2STRING =
        "'HOGE_DATE' : HOGE_DATE == null ? null : " +
            "new java.sql.Timestamp(new java.text." +
                "SimpleDateFormat(\"yyyy/MM/dd HH:mm:ss\").parse(HOGE_DATE).getTime()) ";

    String convertBeantoMap_CONVERSION_RULE =
                                     RULE_HOGE_DATE_TIMESTAMP2STRING;
    String convertMaptoBean_CONVERSION_RULE =
                                     RULE_HOGE_DATE_STRING2TIMESTAMP;

    // EntityをMapに変換する
    Map<String, String> convertBeantoMap(Bean bean);
    // MapをEntityに変換する
    Bean convertMaptoBean(Map<String, String> map);


--------------------------------------
株式会社ケイ・シー・シー
  WEBソリューションユニット
   プロダクト開発G 藤中 佑司
E-MAIL: [E-MAIL ADDRESS DELETED]
---------------------------------------




Seasar-user メーリングリストの案内