【发布时间】:2014-08-23 16:15:23
【问题描述】:
我希望任何人都可以帮助我。我已经搜索并尝试了视图解决方案,但这些都没有解决我的问题。
我想在 Javascript 中使用 forEach。
控制器:
model.addAttribute("aqua", aquaDao.aquaLoad());
mv.setViewName("aqua");
在选择语句的 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:发生异常处理 JSP 页面 /WEB-INF/view/aqua.jsp 在第 27 行
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:对于输入字符串:“名称”
我做错了什么?
【问题讨论】:
-
即使没有例外,代码也没有任何意义。您正在生成一个 JavaScript 函数,该函数一遍又一遍地重新声明相同的变量。
-
感谢您的回答。该功能仅用于测试,稍后会扩展。但是警报应该显示具有当前值的变量 sName。还是我完全错了?
-
好吧,您的代码在问题中出现的两个地方看起来不同。第一个有
alert()inside<c:forEach>但第二个有alert()outside。当然,这与 JSP 代码无关;我不明白为什么你会从该代码中得到 NumberFormatException。 -
alert()也仅用于测试。 ;-) 重要的是,<c:forEach>有效。您需要更多信息吗? -
对,但是这个例外没有任何意义。您是否尝试过简单的
var sName = "${aqua.name}";?无论如何,使用<c:out/>对你没有任何好处。
标签: javascript hibernate jsp exception foreach