获取java.lang.NumberFormatException:对于输入字符串:“aNumber”

时间:2018-04-25 04:31:17

标签: mysql spring hibernate model-view-controller

我想在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>

2 个答案:

答案 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();