如何在jsp中显示表中的值?

时间:2012-12-07 08:03:13

标签: java javascript jsp jstl

我是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];          
        }

2 个答案:

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

将表标记保持在一边,以免每次循环它并为每个循环创建一个不同的表。这还没有经过测试,但我认为你会从这个中得到基本的想法。