我正在尝试在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中。
答案 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”将附加到输出。