[Seasar-user:12457] Re: Teeda Ajax ajaxXxxxxメソッドでコンポーネントが登録されていない?
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 1月 10日 (木) 20:30:06 JST
小林 (koichik) です.
Date: Thu, 10 Jan 2008 19:56:51 +0900
From: "kiyoshi hosoda" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12455] Re: Teeda Ajax ajaxXxxxxメソッドでコンポーネントが登録されていない?
> setterメソッドは最初は作ってなかったのですが、うまくいかないのでsetterを追加して
> 見て試しましたがpublicフィールドのままでした。その後、setterを削除して実行した
> 結果が先ほどのログです。
それはおかしいですね.
先のログには
> 2008-01-10 14:05:14,901 [http-8080-Processor24] DEBUG
> org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
> tools.web.dictionary.SearchWordPage#setTerminologicDictionaryDao(tools.dao.TerminologicDictionaryDao$$EnhancedByS2AOP$$[E-MAIL ADDRESS DELETED])
と出力されているので,SearchWordPage クラスには
setTerminologicDictionaryDao() メソッドがあったはずです.
もしかして SearchWordPage は他の Page クラスを
継承していたりしますか?
スーパークラスにも terminologicDictionaryDao が
あって,
public abstract class AbstractPage {
protected TerminologicDictionaryDao terminologicDictionaryDao;
//setter & getter
public Class doSearch() {
...
}
}
public class SearchWordPage extends AbstractPage {
public TerminologicDictionaryDao terminologicDictionaryDao;
public Map<String, String> ajaxGetDetail() {
...
}
}
のようになっているなら最初のログは辻褄が合うような.
> privateフィールドに変更し、setterを作成して実行したログを添付します。
> ログの最初でSearchWordPage#doSearchメソッドを実行し(成功)、その後
> SearchWordPage#ajaxGetDetailメソッドを実行してNullPointerExceptionが
> 発生しています。
これとは辻褄が合わないので違うかもしれませんが.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内