在JSP中通过JavaScript访问ModelMap列表

时间:2014-04-23 03:24:13

标签: javascript spring jsp spring-mvc

我有一个添加到我的ModelMap的人物对象列表。一个人有一个名字和一个日期。我知道我可以通过在JSP

的html部分中执行以下操作来访问列表
 ${peopleList}

但是我想在JSP标签中循环遍历JSP中的这个列表,我已经尝试了以下但是我没有运气,并且为了测试我刚刚做了警告。

 var people = "${peopleList}"
 alert(people[0].name);

如何在JavaScript中访问这些属性。

1 个答案:

答案 0 :(得分:4)

您已接近解决方案,但您所做错的是java List对象无法直接使用var people = "${peopleList}"转换为javascript列表对象。相反,您可以遍历List对象并使用JSTL手动创建javascript变量:

在jsp:

的顶部导入jstl核心taglib
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

然后在script标签内创建peopleList:

<script type="text/javascript">

var peopleList = new Array();

<c:forEach items="${peopleList}" var="ppl">
    var people = new Object();
    people.name = '${ppl.name}';
    people.date = '${ppl.date}';

    peopleList.push(people);
</c:forEach>

if(peopleList.length > 0){
    alert(peopleList[0].name);
}

</script>