我是jsp和jstl的新手我正在研究这个代码,使用for循环从数组中获取值。我正在获取输出,但是我想把这个输出放到table.how中这样做可以帮助任何人我吗?
for ( int i =0; i < timeSize ; i++)
{
out.println(resource[i]);
out.println(itimespend[i]);
out.println(icostspend[i]);
totalcost += itimespend[i] * icostspend[i];
}
答案 0 :(得分:20)
客户端,jsp
<table>
<tr>
<th>ID</th>
<th>Theme</th>
</tr>
<c:forEach items="${themeList}" var="theme" varStatus="status">
<tr>
<td>${theme.id}</td>
<td>${theme.theme}</td>
</tr>
</c:forEach>
</table>
不要忘记声明jstl taglib,并将jstl libs添加到classpath
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
从服务器端你需要将一个列表返回给你的jsp,如下所示:
req.setAttribute("themeList", somelist);
但考虑使用一些MVC框架
答案 1 :(得分:1)
这并不困难。解决方案可以通过以下实现来实现:
<table>
<%
for ( int i =0; i < timeSize ; i++)
{
out.println(resource[i]);
out.println(itimespend[i]);
out.println(icostspend[i]);
totalcost += itimespend[i] * icostspend[i];
%>
<tr>
<td> <%=resource[i]%></td>
<td><%=itimespend[i]%> </td>
<td> <%=icostspend[i]%></td>
</tr>
<%
}
%>
</table>
将表标记保持在一边,以免每次循环它并为每个循环创建一个不同的表。这还没有经过测试,但我认为你会从这个中得到基本的想法。