3

我是 jsp 和 jstl 的新手,我正在编写此代码以使用 for 循环从数组中获取值。我正在获取输出,但我想将该输出放入表中。如何做到这一点任何人都可以帮助我吗?

for ( int i =0; i < timeSize ; i++)
       {
         out.println(resource[i]);
         out.println(itimespend[i]);
         out.println(icostspend[i]);
         totalcost += itimespend[i] * icostspend[i];          
        }
4

2 回答 2

21

客户端,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 标签库,并将 jstl 库添加到类路径

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

从服务器端,您需要向您的 jsp 返回一个列表,如下所示:

req.setAttribute("themeList", somelist);

但考虑使用一些 MVC 框架

于 2013-11-15T08:42:12.887 回答
3

这并不难。解决方案可以通过这样的实现来实现:

<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>

将表格标签放在外面,以免每次都循环它并在每个循环中创建一个不同的表格。这还没有经过测试,但我想你会从这个中得到基本的想法。

于 2012-12-07T08:11:59.817 回答