Plz考虑这个场景。我有一个名为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>
有人可以帮我解决一下如何处理方案吗?
答案 0 :(得分:2)
有两种方法: -
第一种方式 ...您可以将该值设置为允许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);
第二种方式 ...在<script>
代码中使用<c:foreach>
代码: -
<c:forEach items="${persons}" var="person" varStatus="i">
<script>
yourJavascriptFunction("${fn:replace(person.address, "\"", "\\\"")}");
...
</script>
</c:forEach>