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

YASUO HIGA [E-MAIL ADDRESS DELETED]
2007年 12月 31日 (月) 09:06:56 JST


ひがです。

> 丹野と申します。初めて質問いたします。
> 
> Seasar2 2.4.17、Teeda 1.0.11-SP1 で開発しております。
> 
> Pageクラスのint/Integerのフィールドに@NumberConverterを設定すると
> 同じフィールドに設定したValidatorに渡る値が
> IntegerからLongに変わってしまう現象が発生します。
> 
> 関係ない箇所は省略したソースです。
> 
> public class XxxPage {
>     @MyXxx
>     @IntegerConverter
>     @NumberConverter(pattern = "0000")

Converterは、複数指定しても意味がないので、
@IntegerConverterだけを指定するようにしてください。

でも@IntegerConverterってpatternが
指定できないんですね。

将来的には、@IntegerConverterでpatternをサポートしたほうが
いい気がしますが、とりあえず今のまま試すなら、
ValidatorでIntegerに変換してください。

@NumberConverterの場合、Longに変換するのは、
小林さんが書いているとおりJSFの仕様だと思います。

よろしくお願いします。


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