yhsniaw 2009-04-07 11:00
浏览 191
已采纳

struts1.2中,collection的小问题

<logic:iterate id="test" collection="${list}">//这个collection中把${list}改为list会报错

    <bean:write name="test" property="deptname"/>
</logic:iterate>
<html:form action="/employee.do">
<html:select property="deptid">
    <html:options collection="list" property="deptid" labelProperty="deptname"/>

//这个collection中把list改为${list}会报错

</html:select>
</html:form>

那位兄弟能说下为什么吗,
[b]问题补充:[/b]
回楼下兄弟,我在action中设置了一个属性,
List list = new ArrayList();
list.add("str1");
list.add("str2");

list.add("str3");

request.setAttribute("list",list);
当我在页面上用来取是没问题的
但我在时就会出现问题,只能改为
才可以,
只想知道这是为什么
谢谢

  • 写回答

2条回答 默认 最新

  • weixin_42302248 2009-04-09 13:19
    关注

    你用的是collection属性,我一般不用那个属性。我用的是:/logic:iterate,没有用过collection,collection取得就是一个运行时的集合,这个属性具体没有用过!用name就意味着通过name来识别。

    想和name应该差不多。不过可以考虑如下的用法:
    自定义一个基本类型的数组,让它在页面上循环显示,分别使用name和collection属性来循环,就是做两个。collection会不会只接受List,Map,Set之类的东西??
    
    在做下拉框时,虽然属性名字叫collection,但是他实际上还是按照名字来取对象的。在logic:iterate中name和collection都存在,但是两个不能同时使用,用name时识别的就是对象的名字,而使用collection时就是要使用一个集合,所以得需要一个值对象,而不是一个对象的名字,struts标签就是比较怪而已!不必执着于这点东西。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大