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