[Seasar-user:8493] [teeda] return nullで戻った後、再検索時にエラーが発生する

双畑英樹 [E-MAIL ADDRESS DELETED]
2007年 6月 20日 (水) 13:25:56 JST


双畑と申します。
お世話になっております。
以下のプロダクトを用いて、テスト的にシステムを構築して勉強しております。

Seasar2.4.10
teeda1.0.7
S2DAO1.0.43

現在DBに接続し、検索処理を行い、その結果によって次画面に検索結果を表示する、
もしくはエラーメッセージを表示する処理を組んでいます。
件数が0件の場合はnullを返し、1件以上の場合はリストをセットし、html名を返却するという処理を
行いたいのですが、1度 return null で戻った後、再度検索処理を行った場合以下のエラーとなります。

org.seasar.framework.container.ComponentNotFoundRuntimeException:
[ESSR0046]コンポーネント(interface example.dbaccess.hoge.HogeDAO)が見つかりません

エラーメッセージを表示する場合にも return html名 を行えば、再検索は可能ですが、エラーメッセージが表示されません。

どのようにすれば解決できるのかご教示願えないでしょうか?
よろしくお願い致します。

以下に、サンプルを示します。

    private static final String PATH =
"example/dbaccess/hoge/HogeDAO.dicon";
    public String doSearch() {
        S2Container container = null;
        try {
            container = S2ContainerFactory.create(PATH);
                    container.init();

                HogeDAO dao = (HogeDAO) container
                        .getComponent(HogeDAO.class);
                hogeItems = dao.getAllList();

                if (ip_TblItems.size() == 0) {
                    FacesMessageUtil.addErrorMessage("E0000001");
                    return null;
                }
        } finally {
                container.destroy();
        }
            return "hoge";
    }
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20070620/4f6a976c/attachment.html 


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