有关struts中的logic:iterator标签的奇怪问题
weick 2008-08-21 10:51:31 我在action中往jsp中发送了一个Iterator对象,像这样:request.setAttribute("department",departmentIt);
在jsp页面中用了两对 <html:select> </html:select>来迭代这个Iterator对象,第一个 <html:select> </html:select>如下:
<html:select property="outDepartmentId" styleId="outDepartmentId">
<html:option value="">--请选择-- </html:option>
<logic:present name="department">
<logic:iterate id="dep" name="department">
<bean:define id="depId" name="dep" property="id"> </bean:define>
<html:option value=" <%=""+depId%>">
<bean:write name="dep" property="departmentName"/>
</html:option>
</logic:iterate>
</logic:present>
</html:select>
第二个 <html:select> </html:select>中的代码和上面一模一样,只是 <html:select>中的property属性不同,为inDepartmentId,完整代码如下:
<html:select property="inDepartmentId" styleId="inDepartmentId">
<html:option value="">--请选择-- </html:option>
<logic:present name="department">
<logic:iterate id="dep" name="department">
<bean:define id="depId" name="dep" property="id"> </bean:define>
<html:option value=" <%=""+depId%>">
<bean:write name="dep" property="departmentName"/>
</html:option>
</logic:iterate>
</logic:present>
</html:select>
问题:在上面的第一个 <html:select> </html:select>中能够正确地迭代出Iteraotr对象中的内容,而第二个,也就是下面的那一个除了 <html:option value="">--请选择-- </html:option>这个option中有值之外,其他的option都为空。我已经几次遇到了这种问题,很奇怪,在同一个jsp页面中,一模一样的两段代码,为什么第一个可以正确的迭代,而第二个却不能,会不会是 <logic:iterator>标签在 <html:select>中使用的问题,两者不同的只是定义的property不同,到底是什么原因呢?被搞的很糊涂,热却期待您的回复,先谢谢了!!