[Seasar-user:12479] Re: Teeda Ajax ajaxXxxxxメソッドでコンポーネントが登録されていない?
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 1月 11日 (金) 15:57:28 JST
米林です。
> ちなみにPageクラス内のajaxメソッド実行時にセットされるパラメータのValidatorが
> 効かないのは仕様でしょうか?(使い方が間違っている可能性もありますが)
>
> @Required(target="ajaxGetDetail")
> public Integer id;
>
> と指定していましたが、エラーになりませんでした。Ajaxだとエラーメッセージの
> 表示とかが難しいのかもしれませんね。
> JSONで{"allMessages":"hoge error"}とか戻してJSONレンダリングするしか
> ないのでしょうか?
補足ですが、非同期でPageメソッドを呼んでいますので
複数のリクエストを非同期で投げた場合に、メッセージを
表示するのは少し厳しい気がします。
# 非同期でエラーメッセージがパラパラですと
# どの処理でのエラーか分かりづらかったり
よろしくお願いします。
----- Original Message -----
From: "kiyoshi hosoda" <[E-MAIL ADDRESS DELETED]>
Sent: Friday, January 11, 2008 3:12 PM
> 細田です。
>
> 原因について報告いたします。
>
> 原因は、コンポーネントがnullだったためではありませんでした。
> メソッドの引数がアンボクシングされた際にnullだったために発生していました。
> 私のTeeda Ajaxの理解不足と確認ミスが原因といえます。
>
> 状況としては、NullPointerExceptionが発生している行:
>
> > terminologicDictionaryDao.getDetail(id);
>
> このメソッドはプリミティブ型のintを引数に持っていたのですが、idはIntegerでし
た。
> 引数がプリミティブ型であることを忘れていたため、idがnullの場合はgetDetailメ
ソッド
> の内部でNullPointerExceptionが発生し、スタックトレースに出力されるはずと
> 思い込んでいたこと、idに@Requiredアノテーションをつけていたため、必須チェック
> が行われるはずと思い込んでいたことなどが原因です。
>
> お騒がせいたしました。ご協力感謝いたします。
>
> ちなみにPageクラス内のajaxメソッド実行時にセットされるパラメータのValidatorが
> 効かないのは仕様でしょうか?(使い方が間違っている可能性もありますが)
>
> @Required(target="ajaxGetDetail")
> public Integer id;
>
> と指定していましたが、エラーになりませんでした。Ajaxだとエラーメッセージの
> 表示とかが難しいのかもしれませんね。
> JSONで{"allMessages":"hoge error"}とか戻してJSONレンダリングするしか
> ないのでしょうか?
---
米林 正明
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内