0

我的代码在这里

<% 
@SuppressWarnings("unchecked")

ArrayList<kisi> arr=(ArrayList<kisi>)request.getSession().getAttribute("arr");
%>

<%for(int i=arr.size()-1;i>=0;i--) { %>
Isim:<strong><%= arr.get(i).name %></strong> <br>
Soyisim:<strong><%=arr.get(i).surname  %></strong><br>
Cinsiyet:<strong><%= arr.get(i).gender%></strong><br>
Sehir:<strong><%= arr.get(i).sehir %></strong><br>
-----------------------------------<br>
<% }%>

它怎么只循环一次并且只显示一个真实的但它有很多为什么?

4

2 回答 2

0

如果顺序不重要,您可以使用:

for(kisi k : arr) { // 打印数据 }

另外,请在循环开始之前打印 arraylist 的大小,以确保它有超过 1 条记录。

于 2013-02-22T10:35:25.443 回答
0

问题出在您声明arr.

var arr 仅对该块是本地的。使用声明标签<%! declaration %>来声明 arr。声明适用于整个班级,而 scriptlet 声明仅适用于其本地声明。

于 2013-02-22T10:40:18.027 回答