如果想在一行中迭代多本书,该如何写迭代标签(logic:iterate )呢?
迭代后放到table里如:
图书名称 图书名称 图书名称 图书名称
在一行中有 图书1 图书2 图书3 图书4
然后下一行 图书5 图书6 图书7 图书8
在每一行都迭代四个,这个迭代标签该怎么写呢?我把迭代的内容放在了Vector中.<%
Vector books = new Vector();
books.add("book1");
books.add("book2");
books.add("book3");
books.add("book4");
books.add("book5");
books.add("book6");
books.add("book7");
request.setAttribute("books",books);
%>
<logic:iterate name="books" id = "book" indexId = "index">
<table>
<tr>
<td>
<bean:write name="book"/>
</td>
</tr>
<%
if((index.intValue()+1)%4 == 0)
//不知道这个地方用表达式怎样写好,那位能告诉我呢? %>
</table></logic:equal>
</logic:iterate>
迭代后放到table里如:
图书名称 图书名称 图书名称 图书名称
在一行中有 图书1 图书2 图书3 图书4
然后下一行 图书5 图书6 图书7 图书8
在每一行都迭代四个,这个迭代标签该怎么写呢?我把迭代的内容放在了Vector中.<%
Vector books = new Vector();
books.add("book1");
books.add("book2");
books.add("book3");
books.add("book4");
books.add("book5");
books.add("book6");
books.add("book7");
request.setAttribute("books",books);
%>
<logic:iterate name="books" id = "book" indexId = "index">
<table>
<tr>
<td>
<bean:write name="book"/>
</td>
</tr>
<%
if((index.intValue()+1)%4 == 0)
//不知道这个地方用表达式怎样写好,那位能告诉我呢? %>
</table></logic:equal>
</logic:iterate>
<%@ page contentType="text/html;charset=GB2312" import="java.util.*"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%
Vector books = new Vector();
books.add("图书1");
books.add("图书2");
books.add("图书3");
books.add("图书4");
books.add("图书5");
books.add("图书6");
books.add("图书7");
books.add("图书8");
books.add("图书9");
books.add("图书10");
books.add("图书11");
books.add("图书12");
request.setAttribute("books",books);
%>
<table>
<logic:iterate name="books" id = "book" indexId = "index">
<bean:write name="book"/>
<% if((Integer.valueOf(index)+1)%4==0){%>
<br>
<%} %>
</logic:iterate>
<table>
楼主是把放table外面去了。。肯定不行。。
除非你又在外面加table,建议楼主去用Dreamweaver先建个html把表格建好再用logic:iterate
这样看起来直观,比较容量知道怎么用logic:iterate
应该是这样
<% if((Integer.valueOf(index)+1)%4==0){%>
<tr><!--如果能整除,换新的行(也就是tr开始嘛)--><td><bean:write name="book"/> </td><!--这里自然就是内容显示了--><%}
if((Integer.valueOf(index)+1)%4==3){
%>
</tr>//如果余数离4还差3,那就是一行结束,tr结束
<%}%>
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title></title>
</head>
<body>
<%
ArrayList books = new ArrayList();
books.add("图书1");
books.add("图书2");
books.add("图书3");
books.add("图书4");
books.add("图书5");
books.add("图书6");
books.add("图书7");
books.add("图书8");
books.add("图书9");
books.add("图书10");
books.add("图书11");
books.add("图书12");
request.setAttribute("books",books);
%>
<table>
<tr>
<logic:iterate id="book" name="books" indexId="index">
${ index%4==0 ? "</tr><tr>" : "" }
<td><bean:write name="book"/></td>
</logic:iterate>
</tr>
</table>
</body>
</html:html>