2012-03-13 68 views
1

我正在字符AB的陣列[16] [16]通過在request.getAttribute ABC.jsp:推Java數組JavaScript數組

<% char [][] ab = new char [16][16]; 
ab = (char [][]) request.getAttribute("grid"); %> 

<script lang="text/javascript"> 
var cArr = new Array(16); 
for(var c=0; c<16; c++) 
    cArr[c] = new Array(16); 
</script> 

有一種方法以從 'AB' 推值,以cArr無需手動執行256條語句?

+1

我不知道你爲什麼要通過這種方式傳遞數據。如果將_needs_傳遞給​​Javascript,您應該閱讀關於客戶端/服務器通信的更高級技術(AJAX,JSON作爲容器)。否則 - 例如,如果您只是輸出數據 - 您可以使用普通的Java腳本代碼。 – phineas 2012-03-13 22:31:14

+1

你只是想創建一個javascript代碼來創建一個數組,其值爲'ab'?在這種情況下,您可以編寫一個數組文本:'var cArg = [[1,2,3,...],[...],...];' – 2012-03-13 22:37:41

回答

1
<% 
    String[] js = new String[16]; 

    for (int i=0; i<ab.length; i++) { 
     js[i] = "'" + Arrays.toString(ab[i]).replace(", ", "', '") + "'"; 
    } 

    String jsStr = Arrays.toString(js); 
%> 

<script lang="text/javascript"> 
var cArr = [ 
      <%= jsStr %> 
      ]; 
</script>