1

我正在尝试在 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 并没有打包。

4

1 回答 1

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”将附加到输出中。

于 2013-01-04T09:10:16.960 回答