簡體   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