2017-04-21 230 views
0

我想在jsp中訪問data []。name的數組的值。當我在jsp文件中輸入console.log('$ {data [0] .name}')時,它工作。當我使用一個循環java.lang.NumberFormatException:對於輸入字符串:「+ i +」

for(int i=0;i<=count;i++){ console.log('${data['+i+'].name}'

獲得java.lang.NumberFormatException:對於輸入字符串:「+ I +」

+0

問題是,for循環比模板晚運行。所以模板看到'date ['+ i +']',顯然試圖將該字符串('「+ i +」')轉換爲數字,以便它可以將其用作索引。那失敗了。那麼你想在這裏實現什麼? – ddekany

回答

1

你的循環被理解爲JavaScript的而不是Java 有了JSTL,你可以重複這樣的陣列:

<c:forEach items="${data}" var="d"> 
    console.log('${d.name}'); 
</c:forEach> 

隨着小腳本:

<% for(int i=0; i<data.length;i++){%> 
    console.log('${data[i].name}'); 
<% } %> 

隨着免費標記:(在.ftl文件中)

<#list data as d> 
    console.log('${d.name}'); 
</#list> 
+0

在jsp文件裏面的js裏試過了。獲取此錯誤SyntaxError:預期的表達式,得到了'<' –

+0

freemarker的方式只適用於freemarker文件(.ftl),我編輯了帖子並添加了其他選項 –

+0

感謝您的幫助。 –

相關問題