[英]Accessing Java Bean Properties by Expression Language
我有一些Java Bean正在尝试在JSP中使用:
class Review{
int id;
String text;
User author;
// ... getters/setters here ...
}
class User{
int id;
boolean isVisitor;
// ... getters/setters here ...
}
class VisitorUser extends User{
String name;
// ... getters/setters here ...
}
我试图在EL中访问类型为Review的bean:
${review.author.name}
如您所见,评论中的author
类型为User
,而我试图在EL中访问的name属性属于其子类VisitorUser
。 当作者是VisitorUser
的实例时,这种方法对EL正确吗?
这种方法以前效果很好,但是突然间突然出现错误(或者可能是项目其他某些区域的某些变化的副作用),服务器开始出现此错误:
javax.servlet.jsp.el.ELException: Unable to find a value for "name" in object of class "mypackage.domain.User_$$_javassist_27" using operator "."
解决该错误的任何提示/想法/链接将不胜感激。
它是正确的。 它在运行时检查对象。 但是您的对象的类型不是VisitorUser
,而是javassist增强型User
。 因此,请确保您拥有正确的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.