Java 无法使用<;从数据库打印;逻辑:迭代>;及<;逻辑:bean>;

Java 无法使用<;从数据库打印;逻辑:迭代>;及<;逻辑:bean>;,java,jsp,taglib,struts-1,Java,Jsp,Taglib,Struts 1,我正在开发一个小型Struts 1.2.4电话簿应用程序。 该应用程序在单个JSP中包含表单,用于添加、搜索和编辑/删除数据。我的问题在于显示在执行通配符搜索时获得的结果集。以下是该计划的流程: 用户输入搜索字符串 请求被传递给DispatchAction类的search()方法,该方法反过来调用“model”类的searchContact(字符串名称,HttpServletRequest)方法 该方法使用PreparedStatement在DB上执行SELECT查询,该语句返回一个resul

我正在开发一个小型Struts 1.2.4电话簿应用程序。 该应用程序在单个JSP中包含表单,用于添加、搜索和编辑/删除数据。我的问题在于显示在执行通配符搜索时获得的结果集。以下是该计划的流程:

  • 用户输入搜索字符串

  • 请求被传递给DispatchAction类的search()方法,该方法反过来调用“model”类的searchContact(字符串名称,HttpServletRequest)方法

  • 该方法使用PreparedStatement在DB上执行SELECT查询,该语句返回一个resultset,其值放在ArrayList中。PhoneBook类是一个JavaBean,它有两个字段,“c_name”和“p_num”,其中包含getter和setter

  • logic:bean和logic:iterate标记用于在JSP中打印ArrayList的内容

  • 在JSP中:

    
    名称
    



    挑选 名称 电话号码

    这通常会导致“在任何范围内都找不到Bean”错误,或者什么也不打印。我在一些类似的线程中尝试了建议的修复,但它们似乎都不起作用。期待着一个解决方案。谢谢。

    尝试在迭代语句中添加“type”属性。我猜是一根绳子。如果这不起作用,请向我们展示您的struts配置文件。谢谢您的回复@Susie!“search_res”是电话簿对象的数组列表,以电话簿的形式声明,其中包含getter和setter。PhoneBook类包含两个字段:“c_name”和“p_num”,这两个字段与数据库中的字段相对应。我将尝试您建议的修复,并更新问题。@Susie hi,我尝试过,但不起作用。按照struts框架,我设置对象的方式以及它们交互的方式是否不理想?
        <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>