Java mys-JSP中的迭代器错误 蒂特尔 [...] [...]

Java mys-JSP中的迭代器错误 蒂特尔 [...] [...],java,jsp,struts,Java,Jsp,Struts,但是我在第二次迭代中遇到了这个错误 javax.servlet.jsp.JspException:无法 为此集合创建迭代器 您正在使用相同的id,更改第二个的id您正在使用相同的id,更改第二个的id当iterate标记无法为您传递给它的集合创建迭代器时,无法为此集合创建迭代器消息由iterate标记引发 标记使用指定的名称从范围中提取对象,在本例中为Client,并开始检查其类型: 对象或基本体的数组 java.util.Collection java.util.Iterator java.

但是我在第二次迭代中遇到了这个错误

javax.servlet.jsp.JspException:无法 为此集合创建迭代器


您正在使用相同的
id
,更改第二个的id

您正在使用相同的
id
,更改第二个的id

当iterate标记无法为您传递给它的集合创建迭代器时,
无法为此集合创建迭代器
消息由iterate标记引发

标记使用指定的名称从范围中提取对象,在本例中为
Client
,并开始检查其类型:

  • 对象或基本体的数组
  • java.util.Collection
  • java.util.Iterator
  • java.util.Map
  • java.util.Enumeration
如果找到其中一种对象类型,它将以适当的方式提取迭代器。如果以上各项都不匹配,您将获得
javax.servlet.jsp.JspException:无法为此集合创建迭代器

在这一点上,我同意阿德尔·安萨里(Adeel Ansari)的评论:“当你能够重复一次,但不能重复一次时,这对我来说没有任何意义。”


您是否对两个迭代器标记之间的
客户机
bean做了一些事情(即,呈现的代码对于迭代器标记是否是连续的)?也许您用非集合的内容覆盖了它?

当iterate标记无法为您传递给它的集合创建迭代器时,
无法为此集合创建迭代器
消息将由iterate标记引发

标记使用指定的名称从范围中提取对象,在本例中为
Client
,并开始检查其类型:

  • 对象或基本体的数组
  • java.util.Collection
  • java.util.Iterator
  • java.util.Map
  • java.util.Enumeration
如果找到其中一种对象类型,它将以适当的方式提取迭代器。如果以上各项都不匹配,您将获得
javax.servlet.jsp.JspException:无法为此集合创建迭代器

在这一点上,我同意阿德尔·安萨里(Adeel Ansari)的评论:“当你能够重复一次,但不能重复一次时,这对我来说没有任何意义。”


您是否对两个迭代器标记之间的
客户机
bean做了一些事情(即,呈现的代码对于迭代器标记是否是连续的)?也许您会用非集合的内容覆盖它?

使用这种类型的迭代器来解决此问题

<tr>
    <td><b>RECD from :</b>&nbsp;&nbsp;&nbsp;&nbsp;
        <select name="vo.cuttingRecivedFrom" >
            <option value="">select</option>
            <logic:notEmpty name="storeList">
                <logic:iterate name="storeList" id="storeList1" indexId="count">
                    <option value="<bean:write name="storeList1" property="storeName"/>"><bean:write name="storeList1" property="storeName"/></option>
                </logic:iterate>
            </logic:notEmpty>
        </select>
    </td>
    <td><b>RECD in :</b>&nbsp;&nbsp;&nbsp;&nbsp;
        <select name="vo.cuttingRecivedFrom" >
            <option value="">select</option>
            <logic:notEmpty name="storeList">
                <logic:iterate name="storeList" id="storeList1" indexId="count1">
                    <option value="<bean:write name="storeList1" property="storeName"/>"><bean:write name="storeList1" property="storeName"/></option>
                </logic:iterate>
            </logic:notEmpty>
        </select>
    </td>
</tr> 

记录人:
选择
记录在:
选择

使用这种类型的迭代器来解决此问题

<tr>
    <td><b>RECD from :</b>&nbsp;&nbsp;&nbsp;&nbsp;
        <select name="vo.cuttingRecivedFrom" >
            <option value="">select</option>
            <logic:notEmpty name="storeList">
                <logic:iterate name="storeList" id="storeList1" indexId="count">
                    <option value="<bean:write name="storeList1" property="storeName"/>"><bean:write name="storeList1" property="storeName"/></option>
                </logic:iterate>
            </logic:notEmpty>
        </select>
    </td>
    <td><b>RECD in :</b>&nbsp;&nbsp;&nbsp;&nbsp;
        <select name="vo.cuttingRecivedFrom" >
            <option value="">select</option>
            <logic:notEmpty name="storeList">
                <logic:iterate name="storeList" id="storeList1" indexId="count1">
                    <option value="<bean:write name="storeList1" property="storeName"/>"><bean:write name="storeList1" property="storeName"/></option>
                </logic:iterate>
            </logic:notEmpty>
        </select>
    </td>
</tr> 

记录人:
选择
记录在:
选择

更改“名称”或“id”是否有帮助?从Client到Client2?Client是我的列表,我尝试更改id,但在Struts配置中有相同的错误客户机定义如下:这两个逻辑:在同一页面中迭代,还是使用每个逻辑:在不同的JSP中迭代?如果完全删除第二个迭代呢?你能迭代吗?我问这个问题是因为当你可以迭代一次,但不能再迭代一次时,对我来说没有任何意义。更改“名称”或“id”是否有帮助?从Client到Client2?Client是我的列表,我尝试更改id,但在Struts配置中有相同的错误客户机定义如下:这两个逻辑:在同一页面中迭代,还是使用每个逻辑:在不同的JSP中迭代?如果完全删除第二个迭代呢?你能迭代吗?我问这个问题是因为当你能够迭代一次时,对我来说没有任何意义,但不是这样。当我更改第二个迭代器的id时,我有相同的错误javax.servlet.jsp.JspException:无法为此集合创建迭代器当我更改第二个迭代器的id时,我有相同的错误javax.servlet.jsp.JspException:无法为此集合创建迭代器