我希望有人能帮助我。我已经搜索并尝试了一个查看解决方案,但这些都没有解决我的问题。
我想在Javascript中使用forEach
。
控制器:
model.addAttribute("aqua", aquaDao.aquaLoad());
mv.setViewName("aqua");
在select语句的jsp文件中,forEach
可以正常工作。
但在功能上它不起作用。
功能:
function aqua_select() {
<c:forEach var="aqua" items="${aqua}" varStatus="status">
var sName = "<c:out value="${aqua.name}"/>";
alert('Test' +sName);
</c:forEach> }
例外:
org.apache.jasper.JasperException:处理发生异常 第27行的JSP页面/WEB-INF/view/aqua.jsp
24: function aqua_select(value) { 25: //var values = []; 26: <c:forEach var="aqua" items="${aqua}" varStatus="status"> 27: var sName = "<c:out value="${aqua.name}"/>"; 28: </c:forEach> 29: alert('Test' + sName); 30: }
java.lang.NumberFormatException:对于输入字符串:“name”
我做错了什么?
答案 0 :(得分:0)
你可以这样做。
<script>
var sName = {
<c:forEach var="aqua" items="${aqua}" varStatus="status">
'${aqua.name}'${!status.last ? ',' : ''}
</c:forEach>
};
//print arrays using javascript
</script>
你会得到这样的输出。
<script>
var sName = {'aqua1','aqua2','aqua3'};
</script>
或者如果你有另一个属性假设它是一个数字。
<script>
var sName = {
<c:forEach var="aqua" items="${aqua}" varStatus="status">
'${aqua.name}' : ${aqua.anotherNumberProperty} ${!status.last ? ',' : ''}
</c:forEach>
};
//output
//sName = {
// 'aqua1' : 0,
// 'aqua2' : 1,
// 'aqua3' : 2
// };
</script>