从jsp访问javascript中的arraylist元素

时间:2013-01-23 05:40:07

标签: javascript jsp

我正在将一个arraylist从jsp传递给javascript。 如何在javascript中访问arraylist的元素

jsp代码:

<%out.print(arraylist)%>

的javascript

var http = createRequestObject();
var reponse=http.responseText   

4 个答案:

答案 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];
        }
    }