我将数据硬编码到 .jsp 文件中。我想要做的是用从服务器发送的数据填充一个 JavaScript 数组。
我试图从另一个 .jsp 页面发送数据,但我不知道如何将其转换为 JavaScript var 以便我能够在我的页面中使用它,我也已经开始使用 JSON 对象,但在我继续之前我只需要一些指导,说明最好的方法是什么。
即:在来自服务器的 .html 或 .jsp 文件上填充 JavaScipt 数组。然后该数组将用于 Google Maps API。
如果您有任何问题,请告诉我:
谢谢
我将数据硬编码到 .jsp 文件中。我想要做的是用从服务器发送的数据填充一个 JavaScript 数组。
我试图从另一个 .jsp 页面发送数据,但我不知道如何将其转换为 JavaScript var 以便我能够在我的页面中使用它,我也已经开始使用 JSON 对象,但在我继续之前我只需要一些指导,说明最好的方法是什么。
即:在来自服务器的 .html 或 .jsp 文件上填充 JavaScipt 数组。然后该数组将用于 Google Maps API。
如果您有任何问题,请告诉我:
谢谢
如果是硬编码的,为什么不直接把它变成 JS 变量呢?
var foo = [{
"name1": "value1a",
"name2": "value2a"
},{
"name1": "value1b",
"name2": "value2b"
}];
或者,如果它在 Java 端进行了硬编码,并且您也打算在 JS 端使用它,则使用许多可用的 JSON 序列化器/解析器之一将 Java 对象转换为 JSON。在json.org的底部,您可以找到 Java 中所有可用 JSON API 的概述。其中之一是谷歌 Gson。例如,它能够将 a 转换为List<SomeBean>JSON 字符串,如下所示
String jsonString = new Gson().toJson(someBeans);
然后你可以让 JSP 打印它,就好像它是一个 JS 变量一样,假设它被存储为一个请求属性:
var foo = ${jsonString};
这很简单:
<script>标签的 JSP(即 JSP 需要通过 URL 访问;将该 URL 放入src属性中)。JSP 代码示例:
var data = [<% ...generate array elements here... %>];
这将允许您访问data之后执行的所有 JavaScript 中的变量。在您的情况下,您会将脚本作为页面中的第一件事包含在内,以便其他所有脚本都可以使用它。
巧妙的技巧:添加一个查询参数来指定变量名:
var <%=request.getParameter("name") %> = [<% ...generate array elements here... %>];
并将其包含在
<script src="...url...?name=data" type="text/javascript">