javax.el.PropertyNotFoundException: Property [id] not found on type [java.lang.String]解决思路
使用Eclipse进行开发web项目
使用的是jsp+servlet技术jdbc使用的是mybatis框架
报错信息:
JavaBean:
jsp页面代码
在使用jstl表签之后服务器报错javax.el.PropertyNotFoundException: Property [id] not found on type [java.lang.String]
解决方案:
1.检查jstl表签库是否导入成功
2.检查实体类的set/get方法是否正确全面
3.检查servlet传入jsp页面的对象是否一致
4.检查jsp中使用jstl表签报错语句(十分可恶!!!建议首先检查此项)
由于本人的错误是最后一条所以简单叙述一下前
<c:forEach items="KaTeX parse error: Expected 'EOF', got '&' at position 80: …ettype=fatherTy&̲id={fatherTy.id}">
f
a
t
h
e
r
T
y
.
n
a
m
e
<
/
a
>
<
/
c
:
f
o
r
E
a
c
h
>
在
使
用
了
<
c
:
f
o
r
E
a
c
h
>
表
签
后
,
其
中
i
t
e
m
s
对
应
是
你
传
入
j
s
p
页
面
的
集
合
对
象
,
v
a
r
是
你
给
这
个
集
合
中
每
一
个
对
象
起
的
名
字
我
的
出
错
点
在
i
t
e
m
s
=
"
{fatherTy.name }</a> </c:forEach> 在使用了 <c:forEach>表签后,其中items对应是你传入jsp页面的集合对象,var是你给这个集合中每一个对象起的名字 我的出错点在 items="
fatherTy.name</a></c:forEach>在使用了<c:forEach>表签后,其中items对应是你传入jsp页面的集合对象,var是你给这个集合中每一个对象起的名字我的出错点在items="{applicationScope.types } 空格",没错就是在“”中多加了一个空格,这样会导致一个字符串拼接的问题,?+字符串,最后应该传入的list对象变成了list对象+空格,在报错信息中可以看见
在String类型上找不到id,String对象当然没有id了!!!
就这样将items="${applicationScope.types } 空格"中的空格删去后,花费近半小时的错误消减了。