JSP中的Scriptlet - 访问请求对象

时间:2012-06-04 01:15:49

标签: java jsp scriptlet

我知道最好在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:    %> 

4 个答案:

答案 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