最近在重构代码期间发现一个jsp页面使用jstl表达式的异常:javax.el.PropertyNotFoundException: Property 'xxx' not found on type com.xxx.xxx,检查了n多遍都感觉代码没有问题,属性也声明了,getset方法也是eclipse直接生成的,jsp页面取的属性也是直接copy过去的,百思不得其解。没办法百度了一下也都是指出出现这个异常原因常见的就是:getset方法是否写了,是否写正确了,jsp页面取属性时属性的首字母要小写,但是都没检查出问题。然后仔细想了一下,这个变量是boolean类型,就这个抛异常,直觉告诉我应该问题还是在getset方法上:
private boolean isShared;
public boolean isShared() {
return isShared;
}
public void setShared(boolean isShared) {
this.isShared = isShared;
}
果然,由于boolean类型 “is“ 开头的属性自动生成的get方法不是get开头的,手动修改get方法(在方法名前再加个get):
public boolean getIsShared(),就可以了。。