2012-11-19 73 views
0

我需要從jsp將array [aLocations]傳遞給下面的代碼。將JSP數組轉換爲Javascript

<script type="text/javascript"> 
    var aLocations = new Array(); 
    var aTitles = new Array(); 
    var aDetails = new Array(); 

    aLocations = ['keswick,cumbria,uk','grasmere,cumbria,uk','ambleside,cumbria,uk']; 

</script> 

,如果我試圖這樣,它不工作:

<% 
ArrayList<String> myArr = new ArrayList<String>(); 
     myArr.add("keswick,cumbria,uk"); 
     myArr.add("grasmere,cumbria,uk"); 
     myArr.add("ambleside,cumbria,uk"); 
%> 

<script type="text/javascript"> 
    var aLocations = new Array(); 
    var aTitles = new Array(); 
    var aDetails = new Array(); 

    aLocations = <%=myArr%>; 

</script> 

什麼是從JSP傳遞的最佳方法?

回答

0

您需要一個庫。 例如與http://code.google.com/p/google-gson/,您可以:

Gson gson = new Gson(); 
aLocations = <%=gson.toJson(myArr)%>; 

或看到https://sites.google.com/site/gson/gson-user-guide的文檔。

沒有你需要手動創建一個類似結構的庫[「imtem1」,「ITEM2」,...,「itemn」]與迭代,字符串連接,逃避處理,等見Populating JavaScript Array from JSP List

+0

感謝UR快速響應。沒有這個圖書館是不可能實現的? –

+0

我試着按照你提到的,但我得到這個錯誤:「從Object(ArrayList )的方法是未定義類型JSONArray」 –