我知道最好在JSPS中使用jstl,但我已明确告诉我在这个项目中使用scriptlet。我的问题是我的servlet将一个Arraylist项附加到请求对象,我想使用scriptlet循环遍历该项
示例:我的servlet将其附加并转发到jsp
request.setAttribute("list", Content); where Content is Arraylist<String>
jsp将检索此对象并将其打印在我尝试过的页面上:
<%
ArrayList<String> cont = (ArrayList)request.getAttribute("Content");
for (int i=0;i<cont.size();i++)
{
out.println(cont.get(i));
}
%>
这是我得到的错误
org.apache.jasper.JasperException: An exception occurred processing JSP page /EnrolledSuccess.jsp at line 35
32: ArrayList<String> cont = (ArrayList)request.getAttribute("cont");
33: for (int i=0;i<=cont.size();i++)
34: {
35: out.println(cont.get(i));
36:
37: }
38: %>
答案 0 :(得分:5)
尝试使用Arraylist
迭代Iterator
元素。
out.println
打印到浏览器,System.out.println()
打印到服务器控制台。
<%
ArrayList<String> cont = (ArrayList)request.getAttribute("list");
Iterator<String> itr = cont.iterator();
while (itr.hasNext()) {
String element = itr.next();
out.println(element);
}
%>
答案 1 :(得分:0)
你试过request.getAttribute吗?
答案 2 :(得分:0)
first, you must get attribute from request.
<br/>
<%<br/>
ArrayList<String> list = (ArrayList<String>)request.getAttribute("list");<br/>
for(int i = 0; i < list.size(); i++){<br/>
//you can print the value<br/>
out.printLn(list.get(i));<br/>
}<br/>
%><br/>
答案 3 :(得分:0)
ArrayList的索引从“0”开始,因此在for循环中,条件应该是i