List<TbProductcategory> li=new ArrayList<TbProductcategory>();
  
  lis= new ArrayList();
  for (int i = 0; i < ulist.size(); i++) {
   li=catedao.getByProperty(TbProductcategory.class, "pid",ulist.get(i).getId());
   lis.add(li.size());  }这是后台action;<td><s:property value="lis"/><td>这是前台jsp相关页面;<table align="center" width="500px" style="margin-top:80px">
      <tr align="center">
       <td>ID</td>
       <td>类别名称</td>
       <td>子类别</td>
       <td>添加子类别</td>
       <td>所属父类</td>
       <td>编辑</td>
       <td>删除</td>
      </tr>
      <s:iterator value="#session.cvlist">
      <tr>
      <td class="td"><s:property value="id"/></td>
      <td class="td"><s:property value="name"/></td>
      <td class="td"><sx:a href="cateShowZi?cateid=%{id}" targets="_self">有<s:property value="lis"/>个子类别</sx:a></td>
      <td class="td"><sx:a href="#" targets="_self">添加</sx:a></td>
      <td class="td">所属父类</td>
      <td class="td"><sx:a href="operatedetial?id=%{userid}" targets="_self"><img src="css/images/rz_15.gif"></img></sx:a></td>
      <td class="td"><a href="javascript:if(confirm('确定删除吗?')){window.location='operatedelete?id=<s:property value="userid"/>';}"><img src="css/images/rz_17.gif"></img></a></td>
     </tr>
     </s:iterator><table>这是前台所有页面如题:lis是一个数组集合,里面有12个值,我现在使用<s:property value="lis[0]"/>可以获取到lis集合里的一个值,而使用<s:property value="lis"/>就会将12个值全部显示在一个td标签里,现在我要怎么做才能在前台jsp页面循环获取到lis里的所有的值,显示到对应的td标签里,使用foreach和s:iterator运行就会报错,求大神帮忙,谢谢

解决方案 »

  1.   

    这个当然是要遍历了,不知道楼主用foreach和s:iterator报什么错
      

  2.   

    你在后台 用这个试试 处理list
       for (int i = 0; i < qyzuobiao.size(); i++) 
       {
                Field[] fields = qyzuobiao.get(i).getClass().getDeclaredFields();
                Object oi = qyzuobiao.get(i);
                for (int j = 0; j < fields.length; j++) 
                {
                    if(!fields[j].isAccessible())
                    {
                        fields[j].setAccessible(true);
                    }
                    System.out.println(fields[j].get(oi));
                }
            }
        }
    然后split 成数组传回jsp页面
      

  3.   

    这个方法看起来可行,但是怎么能split成数组传到jsp页面呢?
      

  4.   

    <c:forEach items="${数组}" var="自己定义的变量名">
      

  5.   

    我是用框架做的项目,看到这个帖子,我似乎解决了你这个问题将查询结果保存到request中,然后用<c:foreach>循环
    //action部分  将查询结果保存到request中
         public String selectDandE(){
         List<Object[]> DandE=new ArrayList<Object[]>();
         try{
         DandE=ds.selectDandE();
         }catch(Exception ex){
         ex.printStackTrace();
         }
        
         request.put("DandE", DandE);
         return "selectDandEOk";
        }//jsp部分
      <c:forEach items="${requestScope.DandE }" var="a">
         <tr>
          <th>${a[0] }</th>
          <th>${a[1] }</th>
          <th>${a[2] }</th>
          <th>${a[3] }</th>
          <th>${a[4] }</th>
          <th>${a[5] }</th>
       
         </tr>
         </c:forEach>
       
      

  6.   

    直接<c:foreach >标签有什么问题吗?