2012-07-10 39 views
0

我已經一個servlet,設置5個參數:餘額1,因此balance2,......,在我的.jsp文件balance5使用JavaScript的servlet數據

我試圖讓使用$ {餘額#}數據。然後我會將這些值推入一個數組中,但爲此目的,我僅使用document.write(param)作爲示例。

它最終只是吐出字符串而不要求值。

for (var i = 0; i <5 ; i++) { 
    var loan = "\"$" + "{balance" + i + "}\""; 
    document.write("</br>"); 
    document.write(loan); 
} 

我試圖與不待命報價同時使用,但它不工作,除非我專門寫:

document.write("${balance1}")

什麼是寫入辦法從一個servlet到JavaScript數據。

+1

你正在進行這個從內到外。該servlet將生成代碼 - 包括Javascript代碼 - 將由瀏覽器解釋。在它使用Javascript的時候,服務器端的概念,包括諸如'$ {balance1}'之類的概念都沒有任何意義。你將不得不把它們變成Javascript可以使用的東西.. – 2012-07-10 17:40:23

回答

0

假設你的平衡參數一些類型的,你可以做這樣的:

<script type="text/javascript"> 
    var balanceArray = [ 
    ${balance1}, ${balance2}, ${balance3}, ${balance4}, ${balance5} 
    ]; 
</script> 

如果它的文字,你可以做這樣的:

<script type="text/javascript"> 
    var balanceArray = [ 
    "<c:out value="${balance1}"/>" 
    , "<c:out value="${balance2}"/>" 
    , "<c:out value="${balance3}"/>" 
    , "<c:out value="${balance4}"/>" 
    , "<c:out value="${balance5}"/>" 
    ]; 
</script> 

我會建議然後創建一個平衡項目清單,所以你可以這樣解決:

<script type="text/javascript"> 
    var balanceArray = [ 
    <c:forEach items="${balanceList}" var="balance" varStatus="status"> 
     ${status.first ? '' : ', '}${balance} 
    </c:forEach> 
    ]; 
</script>