3

是否可以将 jstl/JSP 变量转换为 javascript 变量?

这是JSTL:

 <c:forEach var="responseString" items = "${responseString}">
     <c:out value="${responseString.response}" />  
 </c:forEach>

我想将${responseString.response}中的值传输到 javascript var 响应

这是javascript函数:

方向Service.route(请求,功能(响应,状态)

我试过这个教程;

var response = {
<c:forEach var="responseString" items = "${responseString}">
    <c:out value="${responseString.response}" />
</c:forEach>
}

显然它没有用,我有点搞砸了,请帮助。

添加信息, ${responseString.response} 实际上是JSON,我只是将其转换为String

{“路线”:[{“边界”:{“东北”:{“纬度”:14.650,“lng”:121.050610},“状态”:“OK”}

这是一个深深嵌套的JSON.

4

2 回答 2

1

做这样的事情:

  var availableTags = [
  <c:forEach items="${vendorMap}" var="vendor" varStatus="vendorStatus">
     '<c:out value="${vendor}" />'
     <c:if test="${!vendorStatus.last}">    
     ,    
     </c:if> 
  </c:forEach>
 ];

请注意,您不应为最后一个条目添加“,”以及单引号

于 2014-08-15T20:37:31.480 回答
0

由于您使用每个,我认为它将不止一个响应,因此var response = {您应该使用 array []。尝试:

var response = [
<c:forEach var="responseString" items = "${responseString}">
    <c:out value="${responseString.response}" />,
</c:forEach>
];

注意,每个元素之后。

根据要求编辑:

for(var i in response){
   PUSH_TO_GOOGLE_MAPS_WIDGET(response[i]);
}

response[i]会像{"routes": [{"bounds" : {"northeast":{"lat":14.650,"lng":121.050610}, "status":"OK"}

于 2012-06-07T05:49:25.200 回答