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

Jac*_*ack 11 javascript java jsp

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

var myArray = <%= arrayList %>;
Run Code Online (Sandbox Code Playgroud)

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

Uoo*_*ooo 13

借阅图书馆:

Java的:

public static String toJavascriptArray(String[] arr){
    StringBuffer sb = new StringBuffer();
    sb.append("[");
    for(int i=0; i<arr.length; i++){
        sb.append("\"").append(arr[i]).append("\"");
        if(i+1 < arr.length){
            sb.append(",");
        }
    }
    sb.append("]");
    return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)

JSP:

var myArray = <%= toJavascriptArray(arrayList) %>;
Run Code Online (Sandbox Code Playgroud)


Sur*_*tta 5

使用时,<%=arraylist%>它会调用toString()清单并进行打印 [a,b,c]

不,您不能直接从Java转换arrayList为javascript数组,不能将Java 转换ArrayListJSON String,并用于JSON.parse()获取Javascript object

看看Java中的Json objetJson