日期:2014-05-18  浏览次数:20623 次

用jstl标签怎样打两行
用jstl标签怎样在jsp页面中打两行每行三个,而且第一行和第二行之间用横线隔开。
每行的内容是从数据库中查出来的装在List中,如果list中的对象不足两行用自定义的类填补。
 <%List<Dog> list=new ArrayList<Dog>();
   Dog dog1=new Dog();
   dog1.setAge("12");
   dog1.setName("小花");
   Dog dog2=new Dog();
   dog2.setAge("14");
   dog2.setName("小黑");
   Dog dog3=new Dog();
   dog3.setAge("2");
   dog3.setName("小白");
   Dog dog4=new Dog();
   dog4.setAge("5");
   dog4.setName("小黄");
  
   list.add(dog1);
   list.add(dog2);
   list.add(dog3);
   list.add(dog4);
request.setAttribute("list", list);%>

------解决方案--------------------
<c:forEach var="item" items="list"  varStatus="it" >
   <c:if test="${it%3==0}"><hr/><br/></c:if>
</c:forEach>
------解决方案--------------------
  <table>
    <c:forEach begin="1" end="2" varStatus="out">
      <tr>
        <c:forEach var="item" items="${list}"  varStatus="inner">
        <c:if test="${inner.index>=(out.index-1)*3 && inner.index<out.index*3}">
          <td>${item}</td>
        </c:if>
        </c:forEach>
        <c:if test="${fn:length(list)<=out.index*3}">
          <c:forEach begin="1" end="${out.index*3-fn:length(list)>=3 ? 3: out.index*3-fn:length(list)}">
             <td>省略</td>
          </c:forEach>
        </c:if>
      </tr>
    </c:forEach>
    </table>
功能我测了应该没错,但是思路没有好好考虑,写的很乱,1,2行之间的分割线我没写,你自己加上吧,其实后台去处理会简单很多