如何将Java ArrayList转换为JavaScript数组?

3

我们如何将Java字符串对象的数组列表转换为JavaScript数组?

这是我正在做的事情,但我正在寻找更好的方法来完成它。我不想遍历数组列表。

var myArray = [
<c:forEach items="${myList}" var="item">
            {itemName: "${item.name}"},
</c:forEach>
        ];

感谢您的选择。

你是如何将数据结构从Java导出到JavaScript的? - Cory Kendall
你如何处理在数组的最后一个条目之后,你的 .jsp 会留下尾随逗号的情况? - Paul
3个回答

3
var myArray2 = new Array();
myArray2= new Array('<s:property value="%{Listclassaveragelist}"/>');
var carter = myArray2.toString();
carter = carter.replace("[","");
carter = carter.replace("]","");
carter = carter.split(",");

3

将Java ArrayList 直接转换为Javascript Array 没有直接的方法。
你需要执行以下步骤之一:
1. 将Java ArrayList 转换为JSON字符串,然后通过解析该字符串将其转换为Javascript Array。
2. 直接将ArrayList(使用scriptlet)写入Javascript字符串,然后拆分/解析为数组。
3. 通过调用ArrayList.toString() 将字符串作为响应发送,然后按照步骤2进行操作。


  1. 从JSP输出JS数组字面量(类似于问题中的代码;不必有将其转换为字符串然后解析字符串的步骤)。
- nnnnnn

2

您可以使用Java库,例如gsonJackson,将Java中的ArrayList对象转换为JSON,然后将其传输到客户端,在那里您可以使用JavaScript从JSON中提取它。在此过程中,您可以避免在客户端上进行循环,因为gson在创建JSON时将Java ArrayList转换为JavaScript数组。

1
http://json-lib.sourceforge.net/ 是另一个选择。 - Arun P Johny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接