【问题标题】:jsp ArrayList for loop turns only one timejsp ArrayList for 循环只转一次
【发布时间】:2013-02-07 22:40:48
【问题描述】:

我的代码在这里

<% 
@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>
<% }%>

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

【问题讨论】:

  • 你确定变量arr 包含多个元素吗? &lt;%= arr.size() %&gt; 告诉你什么...
  • 你怎么知道它有很多值?
  • 尝试打印 ArrayList 大小。您的代码运行良好,没有任何错误。

标签: java jsp loops arraylist


【解决方案1】:

问题在于您声明 arr 的块。

变量arr 仅在该块本地。 使用声明标签 &lt;%! declaration %&gt; 声明 arr。声明适用于整个班级,而 scriptlet 声明仅适用于其本地声明。

【讨论】:

    【解决方案2】:

    如果顺序不重要,你可以使用这个:

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

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

    【讨论】:

      猜你喜欢
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 2016-11-22
      • 2014-12-07
      相关资源
      最近更新 更多