我想在JSP上打印用户列表。此列表正确地在控制器方法中捕获,但不会传递到JSP页面。
控制器方法代码 -
@PostMapping("/list")
public String listCandidates(@RequestParam("list") String roType, Model theModel) {
if(roType.equalsIgnoreCase("qualZRO1"))
{
List qList = adgService.getQualCandListZRO1();
theModel.addAttribute("candlist", qList);
return "adgSummary";
}
}
JSP页面 - 我想在JSP页面中以表格形式显示候选者的以下信息。请参阅下面的stacktrace,其中显示“aNumber”存在NumberFormatException错误。
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix= "fmt" %>
<!DOCTYPE html>
<html><head>
<title></title>
<!-- reference our style sheet -->
<link type="text/css"
rel="stylesheet"
href="${pageContext.request.contextPath}/resources/css/style.css" />
</head>
<body>
<div id="wrapper">
<div id="header">
<div style="text-align:center">
<h2>SRS</h2>
</div>
</div>
</div>
<div>
<!-- viewing the details -->
Z1 Qualified Candidates: <c:out value="${qualCandZ1}"/>
Z1 Selected Candidates: <c:out value="${selCandZ1}"/>
I1 Qualified Candidates: <c:out value="${qualCandI1}"/>
I1 Selected Candidates: <c:out value="${selCandI1}"/>
</div>
<div id="container">
<div id="content">
<!-- add a search box -->
<form:form name="list" action="list" method="POST">
<input type="hidden" name="list" />
<input type="submit" value="qualZRO1" name="dayOne" class="add-button" onclick="{document.list.list.value=this.value;}" />
<input type="submit" value="selZRO1" name="dayTwo" class="add-button" onclick="{document.list.list.value=this.value;}" />
<input type="submit" value="qualIRO1" name="dayTwo" class="add-button" onclick="{document.list.list.value=this.value;}" />
<input type="submit" value="selIRO1" name="dayTwo" class="add-button" onclick="{document.list.list.value=this.value;}" />
</form:form>
<table><tr>
<th>A No</th>
<th>First Name</th>
<th>Middle Name</th>
<th>Last Name</th>
<th>RO</th>
<th>AType</th>
<th>Score</th>
<th>Result</th>
<th>Selected</th>
</tr>
<!-- loop over and print our candidates-->
<c:forEach var="tempCustomer" items="${candlist}">
<tr>
<td> ${tempCustomer.aNumber} </td>
<td> ${tempCustomer.firstName} </td>
<td> ${tempCustomer.middleName} </td>
<td> ${tempCustomer.lastName} </td>
<td> ${tempCustomer.ro} </td>
<td> ${tempCustomer.aType} </td>
<td> ${tempCustomer.score} </td>
<td> ${tempCustomer.result} </td>
<td> ${tempCustomer.selected} </td>
</tr></c:forEach></table></div></div></body></html>
Console窗口中的Stacktrace,显示NumberFormatException错误 -
Apr 25, 2018 9:42:11 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet [jsp] threw exception
java.lang.NumberFormatException: For input string: "aNumber"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at javax.el.ArrayELResolver.coerce(ArrayELResolver.java:144)
at javax.el.ArrayELResolver.getValue(ArrayELResolver.java:61)
at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:110)
at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:702)
at org.apache.jsp.WEB_002dINF.view.adgSummary_jsp._jspx_meth_c_005fforEach_005f0(adgSummary_jsp.java:426)
at org.apache.jsp.WEB_002dINF.view.adgSummary_jsp._jspService(adgSummary_jsp.java:214)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:170)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:314)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1325)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1069)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1008)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:881)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Apr 25, 2018 9:42:11 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/SRS-ADGDELHI] threw exception [An exception occurred processing [WEB-INF/view/adgSummary.jsp] at line [71]
68: <c:forEach var="tempCustomer" items="${candlist}">
69:
70: <tr>
71: <td> ${tempCustomer.aNumber} </td>
72: <td> ${tempCustomer.firstName} </td>
73: <td> ${tempCustomer.middleName} </td>
74: <td> ${tempCustomer.lastName} </td>
答案 0 :(得分:4)
尝试将List qList
更改为List<your_class> qlist
请点击此链接获取更多信息:${employee.id} from List in JSP throws java.lang.NumberFormatException: For input string: "id"
答案 1 :(得分:2)
您可以将List qlist
更改为通用。
您可以像List<classname> qList = adgService.getQualCandListZRO1();
一样更改代码
装有List qList = adgService.getQualCandListZRO1();