2

私は小さな Struts 1.2.4 電話帳アプリに取り組んでいます。このアプリには、データを追加、検索、編集/削除するためのフォームが 1 つの JSP に含まれています。私の問題は、ワイルドカード検索の実行時に得られる ResultSet を表示することにあります。プログラムの流れは次のとおりです。

  1. ユーザーが検索文字列を入力します。

  2. リクエストは DispatchAction クラスの search() メソッドに渡され、次に「モデル」クラスの searchContact(String name , HttpServletRequest request) メソッドが呼び出されます。

  3. このメソッドは、PreparedStatement を使用して DB で SELECT クエリを実行します。結果セットが返され、その値が ArrayList< PhoneBook > に格納されます。クラス PhoneBook は、getter と setter を持つ 'c_name' と 'p_num' の 2 つのフィールドを持つ JavaBean です。

  4. logic:bean および logic:iterate タグは、JSP で ArrayList< PhoneBook > の内容を出力するために使用されます。

JSP で:

    <html:form action="/PhoneBookAction.do" method="post"  >

        <table>
            <tr>
                <td>Name</td>
                <td><html:text property="name"/></td>
            </tr>
        </table>
        <br>
        <html:submit property="method" value="Search"/>

        <br><br><br>

        <table align="center" border="2" bordercolor="royal blue">
            <thead>
                <tr>
                    <td><b> Select </b></td>
                    <td><b> Name </b></td>
                    <td><b> Phone Number </b></td>
                </tr>
            </thead>

            <logic:iterate id="search_resId" name="phonebookform" property="search_res">
                <tr>
                    <td> <bean:write name="search_resId" property="c_name" /> </td>
                    <td> <bean:write name="search_resId" property="p_num" /> </td>
                </tr>
            </logic:iterate>
        </table>

    </html:form>

これにより、通常、「Bean がどのスコープにも見つかりません」というエラーが発生するか、何も出力されません。いくつかの同様のスレッドで提案されている修正を試みましたが、どれも機能していないようです。解決を楽しみにしています。ありがとうございました。

4

0 に答える 0