我想在JSP中使用一些Java bean:
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 "."
非常感谢任何解决此错误的提示/构思/链接。
答案 0 :(得分:3)
这是对的。它在运行时检查对象。但是您的对象不是VisitorUser
类型,而是javassist-enhanced User
。所以要确保你有正确的对象。