异常:Property 'name' not found on type java.lang.String,attribute items does not accept any

来源:互联网 发布:淘宝上怎么撤销投诉 编辑:程序博客网 时间:2024/06/05 14:16

最近在练习jstl与el综合实训时遇到两个问题,虽然没有什么技术性但是很有必要给大家提个醒,在开发过程可能会因为某个非技术性问题让我们百思不得其解,其实问题很简单,看你细不细心了,否则死都不知怎么死得啊。

 

第一问题百度了很久才发现原来指令标签写错了

org.apache.jasper.JasperException: /show.jsp(21,4) According to TLD or attribute directive in tag file, attribute items does not accept any expressions

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

 

原指令标签:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

改正后的指令标签:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 

第二问题不仅百度了,google也用上了,在群里交流了好久都未果,后来才发现只是因为多打了个空格,在此提醒大家在jstl中的属性值“”中不能有空格,否则死都不知怎么死得

org.apache.jasper.JasperException: An exception occurred processing JSP page /show.jsp at line 23

 

20:    

21:     <c:forEach items=" ${requestScope.list}" var="goods" >

22:    

23:    ${goods.name }<br>

24:    

 

javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String

javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)

javax.el.BeanELResolver.property(BeanELResolver.java:267)

javax.el.BeanELResolver.getValue(BeanELResolver.java:60)

javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)

 

 

原<forEach value=" ${requestScope.list}" var="goods" >

${goods.name}<br>

</forEach>jstl循环标签。

改正后的jstl循环标签<forEach value="${requestScope.list}" var="goods" >

${goods.name}<br>

</forEach>

好了就写到这里吧,废话不多说,一定要细心否则死都不知怎么死啊!!!