[Seasar-user:12359] Re: [Teeda]intフィールドに@NumberConverterを設定するとValidatorに渡る値がLongに変わる

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 12月 29日 (土) 22:00:09 JST


小林 (koichik) です.

Date:    Sat, 29 Dec 2007 18:32:45 +0900
From:    丹野 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12358] [Teeda]intフィールドに@NumberConverterを設定するとValidatorに渡る値がLongに変わる

> Pageクラスのint/Integerのフィールドに@NumberConverterを設定すると
> 同じフィールドに設定したValidatorに渡る値が
> IntegerからLongに変わってしまう現象が発生します。

NumberConverter は JSF 標準のもので,
Long または Double に変換することが
仕様で決められています.

http://java.sun.com/javaee/5/docs/api/javax/faces/convert/NumberConverter.html

The getAsObject() method parses a String into an java.lang.Double or java.lang.Long

@NumberConverter の代わりに @IntegerConverter を
使えば Integer に変換されると思います.
# 自分では試したことがないけど,たぶん.


-- 
<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 メーリングリストの案内