2017-04-21 71 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

感谢您的帮助。 –

相关问题