在进行java web项目的编写过程中会遇到如下的问题,或者是类似的问题。
javax.el.PropertyNotFoundException: 在类型 [java.lang.String] 上未找到属性 [param1]
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:249)
javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:201)
javax.el.BeanELResolver.property(BeanELResolver.java:322)
javax.el.BeanELResolver.getValue(BeanELResolver.java:83)
org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:124)
org.apache.el.parser.AstValue.getValue(AstValue.java:168)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:692)
org.apache.jsp.WEB_002dINF.views.item.itemDetail_jsp._jspx_meth_c_005fforEach_005f1(itemDetail_jsp.java:586)
org.apache.jsp.WEB_002dINF.views.item.itemDetail_jsp._jspService(itemDetail_jsp.java:262)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:171)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1376)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1121)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
我的代码如下
<c:forEach items="itemSkus" var="itemsku" varStatus="start">
<tr>
<td>${start.count}</td>
<td>${item.itemName}</td>
<td>${itemsku.param1}</td>
<td>${itemsku.param2}</td>
<td>${itemsku.price}</td>
<td><a class="layui-btn layui-btn-sm layui-btn-danger" href="${pageContext.request.contextPath}/item/deleteSku/${itemsku.id}">删除</a>
<a class="layui-btn layui-btn-sm layui-btn-warm" href="${pageContext.request.contextPath}/item/updateSku/${itemsku.id}">修改</a></td>
</tr>
</c:forEach>
查到的资料都是让检查结果对象对应的属性名或者是属性的类型。但是我的这个都没有问题,最后查证如下:
原始代码:
<c:forEach items="itemSkus" var="itemsku" varStatus="start"></c:forEach>
修改为:
<c:forEach items="${itemSkus}" var="itemsku" varStatus="start"></c:forEach>
最后运行成功。