2015-03-13 43 views
1

我正在开发一个使用JSP和Servlets的示例Web应用程序,在此应用程序中,我已经在Servlet中设置了一些对象,我可以使用request.getAttribute("Object")在JSP中检索该值。这里我想在JSP中迭代该数组的值。我怎么能做到这一点,任何人都可以帮助我。如何检索javascript/jsp中的Arraylist对象?

我的servlet代码

ArrayList<Performer> Performerobj=new ArrayList<Performer>(); 
ResultSet rst = stm1.executeQuery("some query"); 
while (rst.next()) 
{ 
    Performer obj=new Performer(); 
    obj.setProject(projectname); 
    obj.setCount(rst.getString("COUNT")); 
    obj.setDate(rst.getString("DATE")); 
    obj.setEmpid(rst.getString("empid")); 
    Performerobj.add(obj); 
} 
request.setAttribute("Performer", Performerobj); 

Performer.java

public class Performer { 


private String project; 
private String empid; 
private String date; 
private String count; 

public String getProject() { 
    return project; 
} 
public void setProject(String project) { 
    this.project = project; 
} 
/*setter and getter...... for all*/ 

Perform.jsp

<% List<Performer>obj1=List<Performer>)request.getAttribute("Performerobj"); %> 
<script> 
     var obj=<%=obj1%> 
for(obj object : list) 
{ 
    /*IS it correct way or how can i iterate*/ 
} 
</script> 
+0

您是否收到任何错误?这里是一个例子 - http://stackoverflow.com/questions/16397207/iterate-arraylist-in-jsp – 2015-03-13 10:49:41

+0

在jsp中,我可以使用这个选项,但在java脚本中,我该如何使用该方法? – 2015-03-13 11:19:14

回答

2

你可以做,如果你TR ansform的ArrayList对象为使用库像杰克逊JSON:

<% List<Performer>obj1 = (List<Performer>) request.getAttribute("Performerobj"); %> 
<script> 
var obj=<%=new ObjectMapper().writeValueAsString(obj1)%>; 
for(obj object : list) 
{ 
    /*IS it correct way or how can i iterate*/ 
} 
</script> 

另一种选择是使用JSTL:

<c:forEach var="performer" items="${Performerobj}"> 
    <c:out value="${performer.project}"/> 
</c:forEach>