jsp页面中为何在取产品分类名的出错了?

jsp页面中为何在取产品分类名的出错了?

jsp页面上的代码如下:
<c:forEach items="${pageInfo.list}" var="book">
    <tr>
        <td>${book.name}</td>
        <td>${book.category.name}</td>  ------>出错的是这句!
        <td></td>
        <td>${book.create_time}</td>
        <td>${book.update_time}</td>

控制页的相关代码

List<Book> list =bookBiz.getAll();
PageInfo pageInfo = PageInfo.of(list);
System.out.println(pageInfo);
request.setAttribute("pageInfo",pageInfo);


try {
    request.getRequestDispatcher("/WEB-INF/pages/admin/category.jsp").forward(request, response);
} catch (ServletException e) {

里面println的输出内容:

PageInfo{pageNum=1, pageSize=3, size=3, startRow=0, endRow=2, total=3, pages=1, list=[Book{id=3, category_id=9, name='C++理论基础', level=3, price=78, img_path='/download/images/1563619293747.jpg', create_time=null, category=Category{id=0, name='C++', create_time=null, update_time=null}, update_time=Sat Jul 20 18:41:33 CST 2019}, Book{id=2, category_id=9, name='C++理论基础', level=5, price=78, img_path='/download/images/1563618499209.jpg', create_time=null, category=Category{id=0, name='C++', create_time=null, update_time=null}, update_time=Sat Jul 20 18:31:52 CST 2019}, Book{id=1, category_id=8, name='Java编程方法', level=4, price=112, img_path='/download/images/1563610838103.jpg', create_time=null, category=Category{id=0, name='JAVA', create_time=null, update_time=null}, update_time=Sat Jul 20 16:22:31 CST 2019}], prePage=0, nextPage=0, isFirstPage=true, isLastPage=true, hasPreviousPage=false, hasNextPage=false, navigatePages=8, navigateFirstPage=1, navigateLastPage=1, navigatepageNums=[1]}

出错信息:

org.apache.jasper.JasperException: An exception occurred processing JSP page [/WEB-INF/pages/admin/category.jsp] at line [51]


48:             <c:forEach items="${pageInfo.list}" var="book">

49:                 <tr>

50:                     <td>${book.name}</td>

51:                     <td>${book.category.name}</td>

52:                     <td></td>

53:                     <td>${book.create_time}</td>

54:                     <td>${book.update_time}</td>



Stacktrace:

at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)

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:52)

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:728)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316)

at com.webyy.book.controller.BookController.list(BookController.java:52)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.webyy.book.global.GlobalController.service(GlobalController.java:59)

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:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

at com.webyy.book.global.EncodingFilter.doFilter(EncodingFilter.java:16)

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:493)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)

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:798)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:748)

Caused by: javax.el.PropertyNotFoundException: Property [category] not found on type [com.webyy.book.entity.Book]

at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:260)

at javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:212)

at javax.el.BeanELResolver.property(BeanELResolver.java:347)

at javax.el.BeanELResolver.getValue(BeanELResolver.java:92)

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:190)

at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:944)

at org.apache.jsp.WEB_002dINF.pages.admin.category_jsp._jspx_meth_c_005fforEach_005f1(category_jsp.java:278)

at org.apache.jsp.WEB_002dINF.pages.admin.category_jsp._jspService(category_jsp.java:166)

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:476)


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好!错误提示显示:在Book类中没有category这个属性,检查一下Book类,该属性是否拼写错误,或者该类是否有getCategory()方法。

http://img1.sycdn.imooc.com//climg/5d33cb3f00011b5807930093.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • webyy1139677 提问者 #1
    确实,是加了category这个属性,却忘了加上set,get方法,漏了!谢谢!
    2019-07-21 15:45:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师