2015-03-13 2 views
1

Я разрабатываю одно примерное веб-приложение с использованием JSP и Servlets, в этом приложении я установил некоторый объект в Servlets, я могу получить это значение в JSP, используя request.getAttribute("Object"). Здесь я хочу перебрать этот массив значений в JSP. Как я могу достичь этого, кто-нибудь мне помогает.Как получить объект Arraylist в javascript/jsp?

Мой сервлет код:

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 –

+0

В jsp я могу использовать этот параметр, но внутри java-скрипта, как я могу использовать этот метод? –

ответ

2

Вы можете сделать, если вы тр 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> 
Смежные вопросы