2011-09-29 18 views
1

我们如何将String对象的java数组列表转换为java脚本数组?如何将java arraylist转换为javascript数组?

这就是我正在做的,但我正在寻找一个更好的方式来做到这一点。我不想遍历数组列表。

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

谢谢。

+1

试过了什么? – BoltClock

+0

你是如何从java和javascript中获得数据结构的? –

+0

请参阅我已更新我的问题。 – ashishjmeshram

回答

4

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

+0

4.从JSP中输出一个JS数组文本(与问题中的代码类似;不必将其转换为字符串,然后解析该字符串)。 – nnnnnn

1

可以使用Java库如gsonJackson到ArrayList对象转换在Java JSON,然后转移它到客户端,你可以使用JavaScript从JSON中提取它。在这里,您可以避免在客户端进行循环,因为gson在创建JSON时将java ArrayList转换为javascript数组。

+1

http://json-lib.sourceforge.net/是另一种替代 –

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

这有我的upvote ..对于简单的实现,你不应该包含第三方库 –

相关问题