[Seasar-user:16648] Re: [Teeda]Calendar型にTDateTimeConverterを指定するとエラーになります

Ryo Ikeda [E-MAIL ADDRESS DELETED]
2009年 1月 10日 (土) 06:49:59 JST


小林様

お世話になります。池田です。

遅ればせながら、修正を確認しました。
ご対応ありがとうございました。

2008/12/30 0:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> Date:    Sun, 28 Dec 2008 04:20:07 +0900
> From:    "Ryo Ikeda" <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:16563] [Teeda]Calendar型にTDateTimeConverterを指定するとエラーになります
>
>>     @DateTimeConverter(pattern = "yyyy/MM/dd")
>>     public Calendar calendar;
>>
>> TeedaにてPageクラスにCalendarのフィールドを作り、
>> TDateTimeConverterアノテーションを指定すると、
>> 文字列 → Calendar型 の変換は成功するのですが、
>> Calendar型 → 文字列 の変換でエラーが発生します。
>> (ログを添付いたします。)
>>
>> PageクラスではDate型で宣言しないとまずいでしょうか?
>
> JSF 仕様の DateTimeConverter は文字列と java.util.Date
> およびそのサブクラスとの相互変換のみサポートしていて,
> Calendar との変換は対象になっていないようです.
>
> http://java.sun.com/javaee/5/docs/api/javax/faces/convert/DateTimeConverter.html
>
> The getAsString() method expects a value of type java.util.Date (or a subclass)
>
> 元々 java.text.DateFormat が Calendar をサポート
> していないせいかも.
>
>> http://teeda.seasar.org/ja/extension/reverse/convert.html
>>
>> Teeda 逆引きリファレンスにて、「java.util.Calendar  や  java.sql.Date,
>> java.sql.Time,java.sql.Timestamp  型のプロパティに設定する事ができます」
>> とあるため、疑問に思いました。
>
> なので,これはドキュメントのバグ臭いのですが,
> String -> Calendar ができるのに非対称なのも
> 変なので Teeda 独自の TDateTimeConverter のみ
> サポートしました.
> # @DateTimeConverter アノテーションを指定すると
> # TDateTimeConverter が使われます.
>
> SNAPSHOT をデプロイしたのでご確認ください.
>
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-core/1.0.13-sp5-SNAPSHOT/teeda-core-1.0.13-sp5-20081229.144312-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-extension/1.0.13-sp5-SNAPSHOT/teeda-extension-1.0.13-sp5-20081229.144312-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-ajax/1.0.13-sp5-SNAPSHOT/teeda-ajax-1.0.13-sp5-20081229.144312-1.jar
> http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-tiger/1.0.13-sp5-SNAPSHOT/teeda-tiger-1.0.13-sp5-20081229.144639-1.jar
>
>
>> また、定数アノテーションの方では、
>>
>> > public static final String date_TDateTimeConverter = "pattern='yyyy/MM/dd'";
>> > public BigDecimal date;
>>
>> とBigDecimal型になっておりますが、これはDate型の間違いでしょうか?
>
> ご指摘ありがとうございます.
> 後で [TEEDA-492] とまとめて直しておきます.
>
>
> --
> <component name="koichik">
>    <property name="fullName">"Koichi Kobayashi"</property>
>    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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