为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

红颜莎娜 2019-11-19 14:49:05
在我的Java代码,我有一个ArrayList的String秒。我想将此数据放在我正在处理的JSP页面上的JavaScript变量中。我的第一个想法是直接包含它,例如:var myArray = <%= arrayList %>;不幸的是,执行时myArray是格式为的字符串[a,b,c],而不是实际的JavaScript数组。如何从Java ArrayList到JavaScript数组获取一些数据?
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

没有图书馆:


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();

}

JSP:


var myArray = <%= toJavascriptArray(arrayList) %>;


查看完整回答
反对 回复 2019-11-19
?
噜噜哒

TA贡献1784条经验 获得超7个赞

在您的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 = [];


查看完整回答
反对 回复 2019-11-19
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

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


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


看看Java中的Json objet 和Json


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 673 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信