<c:forEach var="i" begin="1" end="5">
<td>
   <table>
       <c:forEach var="n" items="${news+'i'}" >   
           <tr> 
           <td>
            <c:out value="${n.titlename}" />
          </td>
          </tr>
       </c:forEach>
       </table>
 </td>
 </c:forEach>
news0 ~news5 都是Vector   想整洁所 想用FOREACH 
为什么 "${news+'i'}" 会错啊? 应该怎么写呢? 
先谢了

解决方案 »

  1.   

    你这不错才怪,你应该把news0-news5都压入一个集合容器里,比如List,Set等
    然后用两个foreach
      

  2.   

    你把5个Vector放到List中,再迭代不就行了吗
      

  3.   

    恩 那代码应该怎么写啊?   list里面有5个vector 分别是news0 ~news5
    <c:forEach var="l" items="${list}" 
    <td>
       <table>
           <c:forEach var="n" items="${l.news}" >  
               <tr> 
               <td>
                <c:out value="${n.titlename}" />
              </td>
              </tr>
           </c:forEach>
           </table>
     </td>
     </c:forEach>
    帮忙改一下吧
      

  4.   

    <c:forEach var="l" items="${list}"
    <td>
    <table>
    <c:forEach var="n" items="${l}" >
    <tr>
    <td>${n.titlename}</td>
    </tr>
    </c:forEach>
    </table>
    </td>
    </c:forEach>
      

  5.   

    <c:forEach var="l" items="${list}">
    <td>
    <table>
    <c:forEach var="n" items="${l}" >
    <tr>
    <td>${n.titlename}</td>
    </tr>
    </c:forEach>
    </table>
    </td>
    </c:forEach>
      

  6.   

    谢谢 我现在 才对foreach中的 var理解深刻  他就是 容器里面的一个子容器 ?
      

  7.   

    顺边问一下  ${}怎么加 i     就比如"name"+i 会显示name1 name2 name3
      

  8.   

    JSTL内部采用的是反射机制,你在ArrayList中存放的是各个Vector. 在获取各个Vector时,JSTL会根据每个vector在ArrayList中的位置获取,而不是根据名称!
    当取得ArrayList中第i个元素后,JSTL会用反射得到该对象是什么类型,从而做相应的处理.想得到${"name"+i}应该是不行的,应该JSTL只会把它相加后的结果当成字符串,不过你可以在JSTL中加一个你自己的函数,来实现此功能
      

  9.   

    <c:forEach var="i" begin="1" end="5"> 这句话写错了嘛 items 跑哪里去了啊   怎么取的值啊