您的位置:程序门 -> java -> 框架、开源



怎样用struts的<logic:iterator/>标签遍历arraylist里面的对象


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎样用struts的<logic:iterator/>标签遍历arraylist里面的对象[已结贴,结贴人:ywj1984]
发表于:2007-01-18 10:38:18 楼主

        我在action里面用request.setattribute( "rs ",   result);存了一个arraylist
对象result,这个result里面的元素可能全部是beana   的实例,也可能全部是beanb的实例,我应该如何在jsp页面中用 <logic:iterator/> 标签把result里面的beana   或beanb的属性显示出来?
发表于:2007-01-18 12:00:081楼 得分:0
<logic:iterator   name= "result "   id= "rs ">
  <bean:writer   name= "rs "   property= " "/>
</logic:iterator>

property放你在result中的属性名
发表于:2007-01-18 12:33:102楼 得分:0
1楼答非所问啊

关注下
发表于:2007-01-18 14:24:283楼 得分:0
干脆做两个页面算了,搞得这么复杂!
发表于:2007-01-19 09:36:064楼 得分:15
那你就在action   里做两手准备,当是beana时   就request.setattribute( "a ",   result);当是beanb     就request.setattribute( "b ",   result);
然后在jsp页面上
......
        <logic:notempty   name= "a ">
            <br> <bean:write   name= "a "   property= "(a的某个属性) "/>
            <br> <bean:write   name= "a "   property= "(a的某个属性) "/>
        </logic:notempty>
        <logic:notempty   name= "b ">
            <br> <bean:write   name= "b "   property= "(b的某个属性) "/>
            <br> <bean:write   name= "b "   property= "(b的某个属性) "/>
        </logic:notempty>
......
这样不就行了吗,beana   、beanb肯定会显示出来一个!
发表于:2007-01-20 16:21:475楼 得分:0
谢谢楼上的这位大哥,问题是我在action里面返回的result是一个arraylist对象,而不是beana或beanb的数组,那我该怎么判断result里面存的到底是beana还是beanb呢?
发表于:2007-01-20 17:07:286楼 得分:0
<logic:iterate   name= "studentlist "   id= "studentlist ">
    <bean:write   name= "studentlist "   property= "studentid "> </bean:write>
    <bean:write   name= "studentlist "   property= "studentname "> </bean:write>
</logic:iterate>

studentlist就是你传过来的list
property是你list里面存的对象的属性
发表于:2007-01-21 03:44:047楼 得分:5
你把list里面的取出来判断一下类型不就行了,
object   o=list.get(0);
if(object   instanceof   a){
      request.setattribute( "a ",list);
}else   if(object   instanceof   b){
      request.setattribute( "b ",list);
}
不过哪有人连自己在list里存的是什么都不知道的,jdk1.5还加了泛型,给你用不是浪费
发表于:2007-01-23 12:24:378楼 得分:0
问题解决了,谢谢各位


快速检索

最新资讯
热门点击