java - 循环内循环-显示ArrayList

标签 java loops jsp for-loop arraylist

我正在尝试在JSP中播放ArrayList。我必须要遍历ArrayList并在同一JSP表中显示数据。对于第一个Arralist(历史记录)来说,这很好用,但是当我到达第二个时,它将在每一行中显示所有ArrayList,而不是循环中的当前索引:

<table id="test" class="table text">
<tr>
    <th>Result</th>
    <th>Deposit</th>
    <th>Bet</th>
    <th>Return +/-</th>
    <th>Current balance</th>
    <th>Date</th>
</tr>
<%


for (history his : history) {

%>
<tr class="listing">


            <td><%=his.getRes()%></td>
            <td><%=resultTwoDecimalsDeposit%></td>
            <td><%=his.getOdds()%></td>
            <td><%=his.getDate() %> </td>
            <td style="color:#00cc00;"> + <%=resultTwoDecimalsRet%> </td>


一切都很好,直到这里。它没有显示循环中的当前索引,而是显示每个tr中的所有ArrayList。

<%  for (int i = 0; i < list1.size(); i++) {    
%>

<td><%=list1.get(i) %></td>

<% } %>

<%}}}%>
</tr>
</table>

最佳答案

您的问题是由于嵌套循环。对于每个his,正在执行您不希望的完整内部for循环。您希望每个history元素都显示来自list1的相应值。

如下进行:

<table id="test" class="table text">
    <tr>
        <th>Result</th>
        <th>Deposit</th>
        <th>Bet</th>
        <th>Return +/-</th>
        <th>Current balance</th>
        <th>Date</th>
    </tr>
    <%for (int i=0; i<history.size() && i<list1.size(); i++) {%>
        <tr class="listing">
            <td><%=history.get(i).getRes()%></td>
            <td><%=resultTwoDecimalsDeposit%></td>
            <td><%=history.get(i).getOdds()%></td>
            <td><%=history.get(i).getDate() %> </td>
            <td style="color:#00cc00;"> + <%=resultTwoDecimalsRet%> </td>           
            <td><%=list1.get(i) %></td>
        </tr>
    <%}%>           
</table>

关于java - 循环内循环-显示ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60506339/

相关文章:

java - 文本框内的文本框

java - CardView 没有正确展开

php - MySQL计数没有为特定ID返回0

java - 循环多次,每次使用不同的值

java - 如何在 JSP 页面中显示集合项

java - 通过java拆分重叠的小时和分钟

java - Spring MVC Controller 未加载

c - 在程序运行时分配内存

java - 处理 JSP 日期格式的无法解析的字符串

java - 带有 struts2 : a lost cause? 的 html5 必填字段