猿问

将字符串的Java ArrayList转换为JavaScript数组

在我的Java代码,我有一个ArrayList的String秒。我想将此数据放在我正在处理的JSP页面上的JavaScript变量中。我的第一个想法是直接包含它,例如:


var myArray = <%= arrayList %>;

不幸的是,执行时myArray是格式为的字符串[a,b,c],而不是实际的JavaScript数组。如何从Java ArrayList到JavaScript数组获取一些数据?


红颜莎娜
浏览 674回答 3
3回答

潇潇雨雨

没有图书馆:Java:public static String toJavascriptArray(String[] arr){&nbsp; &nbsp; StringBuffer sb = new StringBuffer();&nbsp; &nbsp; sb.append("[");&nbsp; &nbsp; for(int i=0; i<arr.length; i++){&nbsp; &nbsp; &nbsp; &nbsp; sb.append("\"").append(arr[i]).append("\"");&nbsp; &nbsp; &nbsp; &nbsp; if(i+1 < arr.length){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sb.append(",");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; sb.append("]");&nbsp; &nbsp; return sb.toString();}JSP:var myArray = <%= toJavascriptArray(arrayList) %>;

噜噜哒

在您的JSP页面中执行以下操作<% List<String> strList = new ArrayList<String>();strList.add("one");strList.add("two");strList.add("three"); %>var jsArray = [<% for (int i = 0; i < strList.size(); i++) { %>"<%= strList.get(i) %>"<%= i + 1 < strList.size() ? ",":"" %><% } %>];输出将是var jsArray = ["one","two","three"];如果您的列表为空,则将输出var jsArray = [];

慕姐4208626

使用时,<%=arraylist%>它会调用toString()清单并进行打印 [a,b,c]不,您不能直接从Java转换arrayList为javascript数组,不能将Java 转换ArrayList为JSON String,并JSON.parse()用来获取Javascript object。看看Java中的Json objet 和Json
随时随地看视频慕课网APP

相关分类

Java
JavaScript
我要回答