尝试从jsp中的项目中获取值时,我收到以下异常。
以下是我的错误:
SEVERE: Servlet.service() for servlet [mvc-dispatcher] in context with path [/Dashboard] threw exception [An exception occurred processing JSP page /WEB-INF/jsp/chartListFromDB.jsp at line 9
6: <c:if test="${not empty chart_items}"></c:if>
7:
8: <c:forEach var="chartList" items="${chart_items}">
9: <li><a href="/Dashboard/chart/displayChart/${chart_items.chartId}">${chart_items.chartName}</a>
10: </li>
11: </c:forEach>
12: </ul>
Stacktrace:] with root cause
java.lang.NumberFormatException: For input string: "chartId" at java.lang.NumberFormatException.forInputString(Unknown Source)
这是我的控制器
@RequestMapping(value = "/availableChartsFromDB", method = RequestMethod.GET)
public String availableChartsFromDB(ModelMap model) {
IChartBehaviour chartService = new ChartService();
List<Chart> chart_items = chartService.getAvilableChartsFromDB();
model.addAttribute("chart_items", chart_items);
return "chartListFromDB";
}
这是我的JSP
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@include file="header.jsp"%>
<div id="content_main">
<h3>Chart Selector ...</h3>
<ul>
<c:if test="${not empty chart_items}"></c:if>
<c:forEach var="chartList" items="${chart_items}">
<li><a href="/Dashboard/chart/displayChart/${chart_items.chartId}">${chart_items.chartName}</a>
</li>
</c:forEach>
</ul>
</div>
<%@include file="footer.jsp"%>
答案 0 :(得分:0)
使用chartList.chartId。 chartList是chart_items列表中的迭代器变量。
答案 1 :(得分:0)
经过一些尝试并在@Rahul Vedpathak的初步帮助之后 我现在能够解决这个错误。
正如Rahul所指出的那样 - 我没有初始化地使用迭代器变量 我纠正了这个错误,但仍然发生了同样的异常。
第二个问题是我试图通过引用而不是getter方法访问Chart对象。
通过更改
chartList.chartId
到
chartList.getChartId()
这解决了我的问题