我有一个添加到我的ModelMap的人物对象列表。一个人有一个名字和一个日期。我知道我可以通过在JSP
的html部分中执行以下操作来访问列表 ${peopleList}
但是我想在JSP标签中循环遍历JSP中的这个列表,我已经尝试了以下但是我没有运气,并且为了测试我刚刚做了警告。
var people = "${peopleList}"
alert(people[0].name);
如何在JavaScript中访问这些属性。
答案 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>