[Seasar-user:14360] Re: [Teeda]数値入力で「.(ドット)」を複数入力しsubmitするとException

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 5月 21日 (水) 19:30:14 JST


小林 (koichik) です.

Date:    Wed, 21 May 2008 19:06:51 +0900
From:    "とら" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:14359] Re: [Teeda]数値入力で「.(ドット)」を複数入力しsubmitするとException

> >> 1)自ページのdoメソッド実行。
> >> 2)doメソッドで自ページの値を編集。
> >> 3)prerender実行(postback)。
> >> 4)レンダリング
> >>
> >> ここで、(4)のconversionでエラーが発生し、(2)の編集した値が
> >> 取り消され、conversionが発生した項目のエラーメッセージが
> >> 表示となります。
> >
> > エラーとはどういうエラーでしょうか?
> 
> 「"ふがほげ" : 値(-)は適切な型に変換できません。」
> javax.faces.convert.BigDecimalConverter.CONVERSION_detail
> 
> > また,変換できなかったプロパティの型とその値を
> > 教えてください.
> 
> public BigDecimal fugahoge;
> 
> 入力値:-
> (「-」「.」を複数でも同様)

「入力値」とは画面から入力した値のことでしょうか?
だとしたら,上の 1)〜4) の流れとは異なります.

入力値を変換できなかった場合はバリデーションで
失敗しのと同じであるため,do〜() メソッドは
呼ばれず,エラーメッセージが表示されます.
つまり,1) も 2) も実行されません.
また,エラーになるのは 4) での変換 (数値から文字列)
ではなく,1) よりも前の変換 (文字列から数値) です.

上の 1)〜4) の流れだと,画面からは正しく変換可能な
数値を入力して,do〜() メソッドで別の値を設定した
場合に,それを文字列に変換できないということかと
思ったのですが,そうではないということですね?


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