繁体   English   中英

通过表达式语言访问Java Bean属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM