for循环在JSP中停止输出83之后

时间:2013-01-03 22:35:23

标签: java html jsp jstl

我正在尝试在JSP中输出ArrayList的内容。有趣的是,它停止在索引83之后输出.ArrayList的大小是2000.我偶然发现了这个问题,因为我在我的javascript函数中首先尝试了这个:

 document.getElementById('test').innerHTML = '<%
 for(ClassInfo classes: classList)
 {
   out.print(classes.toString());
 }

 %>';

没什么。所以我用这样的东西测试了它:

 document.getElementById('test').innerHTML = '<%
 for(int count = 0; count < classList.size(); count++)
 {
   out.print(classList.get(count).toString());
 }

 %>';

仍然没有。所以我调整它只是为了看看我能不能得到任何东西:

document.getElementById('test').innerHTML = '<%
 for(int count = 0; count < 83; count++)
 {
   out.print(classList.get(count).toString());
 }

 %>';

它运作得很好,但不是在83之后。(即如果我将它改为84,什么都没有)注意要轻松一点?这是我使用JSP的第一天,似乎有很多人使用JSTL来处理这类事情,据我所知,这些内容并没有包含在Tomcat v7中。

1 个答案:

答案 0 :(得分:0)

也许你可以尝试替换

 document.getElementById('test').innerHTML = '<%
 for(ClassInfo classes: classList)
 {
   out.print(classes.toString());
 }
 %>';

document.getElementById('test').innerHTML = '';
<% for (ClassInfo classes : classList)  { %>
document.getElementById('test').innerHTML += '<%= ""+classes %> ';
<% } %>

虽然这是非常低效的(浏览器中的大量重排,多次查找测试),但它可能有助于调试。我的猜测是(如评论中所述)ArrayList中的元素为null。在此设置(“”+类)中,字符串“null”将附加到输出。