Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过JSP中的JavaScript访问ModelMap列表_Javascript_Spring_Jsp_Spring Mvc - Fatal编程技术网

通过JSP中的JavaScript访问ModelMap列表

通过JSP中的JavaScript访问ModelMap列表,javascript,spring,jsp,spring-mvc,Javascript,Spring,Jsp,Spring Mvc,我已将人员对象列表添加到我的ModelMap中。一个人有名字和日期。我知道我可以通过在JSP的html部分执行以下操作来访问列表 ${peopleList} 然而,我想在JSP中的JavaScript标记中循环这个列表,我已经尝试了下面的方法,但是我没有运气,为了测试,我刚刚做了一个警报 var people = "${peopleList}" alert(people[0].name); 如何在JavaScript中访问这些属性。您已接近解决方案,但您所犯的错误是无法使用var pe

我已将人员对象列表添加到我的ModelMap中。一个人有名字和日期。我知道我可以通过在JSP的html部分执行以下操作来访问列表

 ${peopleList}
然而,我想在JSP中的JavaScript标记中循环这个列表,我已经尝试了下面的方法,但是我没有运气,为了测试,我刚刚做了一个警报

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

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

您已接近解决方案,但您所犯的错误是无法使用var people=${peopleList}将java列表对象直接转换为JavaScript列表对象。相反,您可以在列表对象中循环,并使用以下命令手动创建javascript变量:

导入jsp顶部的jstl核心标记库:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
然后在脚本标记内,创建联系人列表:

<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>

您已接近解决方案,但您所做的错误是,不能使用var people=${peopleList}将java列表对象直接转换为javascript列表对象。相反,您可以在列表对象中循环,并使用以下命令手动创建javascript变量:

导入jsp顶部的jstl核心标记库:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
然后在脚本标记内,创建联系人列表:

<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>

c:foreach可以放入javascript吗?c:foreach可以放入javascript吗?