java - 严重 : Servlet. servlet [jsp] 的 service() 引发异常 java.lang.NumberFormatException

标签 java spring-mvc jsp

我正在尝试在 JSP 上显示两个项目列表中的候选人信息。个人信息 - “${candidatesPI}”和健身信息 - “${candidatesFI}”。

下面是显示两个列表中的信息的 JSP 代码。在这里,我使用两个变量 var1 和 var2 存储这两个列表中的候选人 ID 信息,然后进行比较。将 CandidateID 的值存储到 var1 变量时显示错误。

<c:forEach var="tempcandDet" items="${candidatesPI}" varStatus="counter">

                <c:url var="CanDet" value="/aro/searchByAadhaar">
                        <c:param name="AadhaarNo" value="${tempcandDet.aadhaarNumber}" />
                        <c:param name="candidateID" value="${tempcandDet.candidateID}" />
                    </c:url>
                <c:url var="updateLink" value="/aro/showFormForUpdate">
                        <c:param name="candidateID" value="${tempcandDet.candidateID}" />
                    </c:url>
<tr>
    <%-- <td class="DashboardTabledata" style="text-align:left">${counter.count}</td> --%>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;"><a href="${CanDet}">${tempcandDet.aadhaarNumber}</a></td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.firstName}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.middleName}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.lastName}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.postApplied}</td>
    <td class="DashboardTabledata" style="text-align:center;font-size: 14px;">${tempcandDet.eligible}</td>
    <c:forEach var="tempcandDet1" items="${candidatesFI}" varStatus="counter">
    <c:set var="var1" value="${tempcandDet1.candidateID_FI}"/>
    <c:set var="var2" value="${tempcandDet.candidateID}"/>
    <c:choose>
        <c:when test='${var1==var2}'>
    <td class="DashboardTabledata" style="text-align:center;font-size: 14px;">${tempcandDet1.runningScore}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.pullUpsScore}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.balance}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.ditch}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.medical}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.surgical}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.eye}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.ent}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet1.ceeScore}</td>
     </c:when>
     </c:choose>
     </c:forEach>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.score}</td>
    <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.result}</td>
    <%-- <td class="DashboardTabledata"><a href="${updateLink}">Update</a></td> --%>

  </tr>

</c:forEach>

我遇到以下错误 -

Aug 07, 2018 5:01:32 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet [jsp] threw exception
java.lang.NumberFormatException: For input string: "candidateID_FI"
    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.el.JspValueExpression.getValue(JspValueExpression.java:115)
    at org.apache.jsp.WEB_002dINF.view.MainPage_005fARON_jsp._jspx_meth_c_005fset_005f9(MainPage_005fARON_jsp.java:3509)
    at org.apache.jsp.WEB_002dINF.view.MainPage_005fARON_jsp._jspx_meth_c_005fforEach_005f1(MainPage_005fARON_jsp.java:3461)
    at org.apache.jsp.WEB_002dINF.view.MainPage_005fARON_jsp._jspx_meth_c_005fforEach_005f0(MainPage_005fARON_jsp.java:3225)
    at org.apache.jsp.WEB_002dINF.view.MainPage_005fARON_jsp._jspService(MainPage_005fARON_jsp.java:357)
    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.doGet(FrameworkServlet.java:870)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    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)

Aug 07, 2018 5:01:32 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/SRS-ARONAGPUR] threw exception [An exception occurred processing [WEB-INF/view/MainPage_ARON.jsp] at line [511]

508:     <td class="DashboardTabledata" style="text-align:left;font-size: 14px;">${tempcandDet.postApplied}</td>
509:     <td class="DashboardTabledata" style="text-align:center;font-size: 14px;">${tempcandDet.eligible}</td>
510:     <c:forEach var="tempcandDet1" items="${candidatesFI}" varStatus="counter">
511:     <c:set var="var1" value="${tempcandDet1.candidateID_FI}"/>
512:     <c:set var="var2" value="${tempcandDet.candidateID}"/>
513:     <c:choose>
514:        <c:when test='${var1==var2}'>

我正在使用 Spring MVC 框架。此问题是否特定于 JSP 或 Spring MVC 类?请告诉我。

最佳答案

您在 JSP 中尝试的变量是一个字符串,并且您正在尝试将其转换为整数。您可能想要将其转换为整数并设置该值。检查此 code base of how to convert a String to Number 中的示例。您可以转换干杯

<fmt:parseNumber var = "parsedCandidateID" type = "number" value = "${tempcandDet1.candidateID_FI}"/>

<c:set var="var1" value="parsedCandidateID"/>

确定变量为整数类型后,就可以进行比较操作了。

关于java - 严重 : Servlet. servlet [jsp] 的 service() 引发异常 java.lang.NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51726982/

相关文章:

java - Spring MVC 3 返回内容类型 : text/plain

jsp如何在没有javascript的情况下干净地获取基本url

java - 加载 *.so 文件到 Websphere

java - 有没有办法使用正则表达式将字符串中的每个数字相乘?

spring-mvc - 获取更新后受影响的行数并插入 Mybatis3

java - MySql使用BEGIN和COMMIT java在多个表上插入

java - Spring在jsp中启用 Controller 页面渲染的问题

jsp - JSP 标记的 Outcomment 属性

java - hibernate 二级 ehcache 未命中

java - 在 JUnit 5 中使用 Allure 进行测试报告