繁体   English   中英

如何在我的jsp中的javascript中访问来自服务器的Java列表

[英]How to access a java list coming from the server in javascript inside my jsp

请考虑这种情况。 我有一个名为Person的Java类,如下所示:

Person
---------
Integer Id 
String name
String address

现在,通过我的spring控制器,将人员列表传递到我的jsp页面(neighbors.jsp),如下所示:

List<Persons> persons = new ArrayList<Person>();
.
.
.
return new ModelAndView("/neighbors").addObject("persons", persons);

现在问题出在这里。 我在neighbors.jsp中嵌入了javascript格式的google maps api,以显示登录人员的位置。这很好。 Google地图还提供地址比较。 我想显示位于用户地址5英里范围内的其他人的地址标记。 每个标记都是指向要显示该特定人的信息的页面的链接。

假设我以以下格式访问每个地址,该如何调用javascript函数?

<c:forEach items="${persons }" var="person">

       <!-- I want to pass each address ${person.address} to the javascript functions thats going to compare addresses --> 

</c:forEach>

有人可以在这里帮助我解决方案吗?

两种方法可以做到:

第一种方式 ...您可以将值设置为允许javascript访问的隐藏字段:-

<c:forEach items="${persons}" var="person" varStatus="i">
   <input id="address${i.count}" type="hidden" value="${person.address}">
</c:forEach>

在您的javascript中:-

yourJavascriptFunction(document.getElementById("address1").value);

第二种方式 ...在<c:foreach>标记中使用<script> <c:foreach>标记:-

<c:forEach items="${persons}" var="person" varStatus="i">
   <script>
       yourJavascriptFunction("${fn:replace(person.address, "\"", "\\\"")}");
       ...
   </script>
</c:forEach>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM