我正在将一个arraylist从jsp传递给javascript。 如何在javascript中访问arraylist的元素
jsp代码:
<%out.print(arraylist)%>
的javascript
var http = createRequestObject();
var reponse=http.responseText
答案 0 :(得分:0)
如果您正在使用scriptlet,那么您需要像java代码一样进行迭代。
示例代码段:
<%
Iterator itr = arrayList.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
%>
答案 1 :(得分:0)
在您的scriptlet中迭代Arraylist并为javascript变量分配必要的值,如下所示。
粗糙的代码
<%
Iterator it = arrayList.iterator();
while(it.hasNext()){
%>
<script> var val = <%=itr.next()%> </script>
<%}%>
希望它有所帮助!!
编辑:
<script>
var someArray = [
<c:forEach items="${someArray}" var="it">
{
name = "<c:out value="${it.name}">",
val = "<c:out value="${it.val}">"
},
</c:forEach>
];
</script>
上面会产生这样的javascript,
var someArray = [
{
name = "Peter",
val = "First Name"
},
{
name = "Naveen",
val = "Last Name"
}];
答案 2 :(得分:0)
您需要使用JSTL进行迭代。
添加taglib
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
迭代arraylist的代码
<c:forEach items="${arraylist}" var="current">
<c:out value="${current}"/>
</c:forEach>
答案 3 :(得分:0)
使用JSON很容易实现这一点。您可以使用JSONArray并将arraylist转换为JSP或java中的json。然后在javascript中你可以迭代JSON,如
for(var i=0;i<jsonArr.length;i++){
var obj = jsonArr[i];
for(var key in obj){
var attrName = key;
var attrValue = obj[key];
}
}