<%
//Retrieving the Server list from dispatcher
Collection<Server> svr = (Collection<Server>)request.getAttribute("stuff");
ArrayList<String> serverIds = new ArrayList<String>();
for(Server i : svr )
serverIds.add(i.getId());
String [] svrIds = new String[svr.size()];
serverIds.toArray(svrIds);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
var instanceIds = new Array(<%=svrIds%>);
//test somethings in there
alert(instanceIds[0]);
</script>
</head>
</html>
最佳答案
如果您想使用 Java 代码为 Javascript 数据结构编写代码,最简单的方法可能是使用 Java 的 JSON 库。 JSON 字符串可以解释为 Javascript 代码。
如果你想使用 JSON.simple,那么这里有如何生成 JSON 字符串的例子:
http://code.google.com/p/json-simple/wiki/EncodingExamples
在您的代码中,您应该能够执行如下操作:
var instanceIds = <%= JSONValue.toJSONString(serverIds) %>
您不需要将 ArrayList 转换为 Java 数组。请注意,此函数对您传递给它的类型很敏感;数组实际上在这种情况下不起作用。
此外,为此您需要安装 JSON.simple JAR 文件并在您的 JSP 中导入 org.json.simple.JSONValue
。
关于java - 如何将 Java 数组内容传递到 javascript 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7192457/