用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行之间的分割线我没写,你自己加上吧,其实后台去处理会简单很多