Java 在Jsp中显示类中的对象列表

Java 在Jsp中显示类中的对象列表,java,jsp,spring-mvc,jstl,sqlresultsetmapping,Java,Jsp,Spring Mvc,Jstl,Sqlresultsetmapping,我使用的是SpringMVC,我实现了ResultsTextRactor,因为我的一个类有一个复杂的list对象。我进行了映射,然后从数据库中进行了选择。我在显示结果文本编辑器中列表项的数据时遇到问题。我希望我正确地绘制了地图。其他属性包含数据。问题是如何在jsp中显示ListVictors和ListVictors的值 以下是守则: Jsp 我在crimeRecNo和Crimeredetails中获取数据,但在受害者中没有 编辑: 我更新了代码,但是在受害者列表中没有得到任何值,jsp上没有打印

我使用的是SpringMVC,我实现了ResultsTextRactor,因为我的一个类有一个复杂的list对象。我进行了映射,然后从数据库中进行了选择。我在显示结果文本编辑器中列表项的数据时遇到问题。我希望我正确地绘制了地图。其他属性包含数据。问题是如何在jsp中显示ListVictors和ListVictors的值

以下是守则:

Jsp

我在crimeRecNo和Crimeredetails中获取数据,但在受害者中没有

编辑:

我更新了代码,但是在受害者列表中没有得到任何值,jsp上没有打印任何内容。其他元素正在获取数据。我不确定是否为列表项正确编写了ResultSetTextRactor

<form:form id="crimeList" name ="crimeList">
    <div id ="content">
        <c:forEach items="${crimes}" var="crime">
            <div id="table">        

                <label>${crime.crimeRecNo}</label>
                <label>${crime.crimeDetails}</label>

                <c:forEach items="${crime.victims}" var="victim">
                    <label>${victim.fName}</label>     
                </c:forEach>

            </div>
        </c:forEach>
    </div>
</form:form>
错误

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/crimeList.jsp at line 62

59:        <label>${crime.crimeRecNo}</label>
60:        <label>${crime.crimeDetails}</label>
61:        
62:        <c:forEach items="${crimes.getVictims}" var="victim">
63:        <label>${victim.getName}</label>
64:        
65:        </c:forEach>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

root cause

java.lang.NumberFormatException: For input string: "getVictims"
    java.lang.NumberFormatException.forInputString(Unknown Source)
    java.lang.Integer.parseInt(Unknown Source)
    java.lang.Integer.parseInt(Unknown Source)
    javax.el.ListELResolver.coerce(ListELResolver.java:173)
    javax.el.ListELResolver.getValue(ListELResolver.java:52)
    org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f1(crimeList_jsp.java:249)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f0(crimeList_jsp.java:216)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_form_005fform_005f0(crimeList_jsp.java:164)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspService(crimeList_jsp.java:127)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.JasperException:在第62行处理JSP页面/WEB-INF/JSP/crimeList.JSP时发生异常
59:${犯罪,犯罪}
60:${犯罪.犯罪详情}
61:        
62:        
63:${被害人.getName}
64:        
65:        
堆栈跟踪:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javaservlet.http.HttpServlet.service(HttpServlet.java:647)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
根本原因
java.lang.NumberFormatException:用于输入字符串:“GetVictors”
java.lang.NumberFormatException.forInputString(未知源)
java.lang.Integer.parseInt(未知源)
java.lang.Integer.parseInt(未知源)
强制(ListELResolver.java:173)
getValue(ListELResolver.java:52)
org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
org.apache.el.parser.AstValue.getValue(AstValue.java:183)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
org.apache.jasper.runtime.PageContextImpl.proprietaryeevaluate(PageContextImpl.java:1026)
org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f1(crimeList_jsp.java:249)
org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f0(crimeList_jsp.java:216)
org.apache.jsp.WEB\u 002dINF.jsp.crimeList\u jsp.\u jspx\u meth\u form\u 005fform\u 005f0(crimeList\u jsp.java:164)
org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jsp服务(crimeList_jsp.java:127)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javaservlet.http.HttpServlet.service(HttpServlet.java:647)
javaservlet.http.HttpServlet.service(HttpServlet.java:728)

而不是
犯罪。GetVictors
,这应该称为
犯罪。受害者
,EL将负责插入get部分(现在它正在寻找
GetVictors

第一次访问或以后修改时,每个JSP文件都会被编译,每个JSP文件都类似于
crimeList\u JSP.java

 org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f1(crimeList_jsp.java:249)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f0(crimeList_jsp.java:216)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_form_005fform_005f0(crimeList_jsp.java:164)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspService(crimeList_jsp.java:127)
我建议您观察ApacheTomcat中
crimeList.jsp
的上述代码行

示例路径如下所示:

D:\apache tomcat\work\Catalina\localhost\myAppName\org\apache\jsp\

这里
myAppName
将是您的应用程序名

编辑:应该是这样的

<c:forEach items="${crimes.victims}" var="victim">
            <label>${victim.name}</label>       
</c:forEach>

${受害者名称}

我这样做了,但是没有返回任何数据。它似乎是空的,并且数据库有数据。我不确定是否为列表项正确编写了ResultSetTextRactor。我执行了${crime.victors.size()}操作并返回了0,因此我猜ResultSetTextRactor为列表项的设置不正确。你能帮忙吗here@dev_darin:嗯,我从未使用过
ResultSetExtractor
。至少现在错误消失了:)@dev_darin:检查
是否(socialSecurityNumber>0&citizenTypeId==3){
的计算结果为true。确定否
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/crimeList.jsp at line 62

59:        <label>${crime.crimeRecNo}</label>
60:        <label>${crime.crimeDetails}</label>
61:        
62:        <c:forEach items="${crimes.getVictims}" var="victim">
63:        <label>${victim.getName}</label>
64:        
65:        </c:forEach>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

root cause

java.lang.NumberFormatException: For input string: "getVictims"
    java.lang.NumberFormatException.forInputString(Unknown Source)
    java.lang.Integer.parseInt(Unknown Source)
    java.lang.Integer.parseInt(Unknown Source)
    javax.el.ListELResolver.coerce(ListELResolver.java:173)
    javax.el.ListELResolver.getValue(ListELResolver.java:52)
    org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f1(crimeList_jsp.java:249)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f0(crimeList_jsp.java:216)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_form_005fform_005f0(crimeList_jsp.java:164)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspService(crimeList_jsp.java:127)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
 org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f1(crimeList_jsp.java:249)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_c_005fforEach_005f0(crimeList_jsp.java:216)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspx_meth_form_005fform_005f0(crimeList_jsp.java:164)
    org.apache.jsp.WEB_002dINF.jsp.crimeList_jsp._jspService(crimeList_jsp.java:127)
<c:forEach items="${crimes.victims}" var="victim">
            <label>${victim.name}</label>       
</c:forEach>