2012-05-03 76 views
1

我有兩個JavaBeans。JSP,JSTL,Bean繼承和PropertyNotFoundException

  1. 用戶
  2. 工程師

工程師延伸用戶。

用戶包含此屬性:

public String getName() { return name; } 

我的JSP包含:

<c:forEach var="engineer" items="${engineers}" > 
    <c:out value="${engineer.Name}" /> 
</c:forEach> 

所引發的異常是:

javax.el.PropertyNotFoundException: Property 'Name' not found on type Engineer 

這是因爲JSTL會找不到繼承屬性?我需要在工程師明確聲明另一個getName屬性,即使它繼承了用戶的getName

+2

你試過'$ {engineer.name}'嗎?小寫字母呢? – evanwong

+0

我覺得啞巴。顯然'$ {engineer.name}'將大寫屬性的第一個字母並添加「get」。我要閱讀JavaBeans規範。請把這個作爲答案,我可以給你信用。 –

+0

酷!剛剛添加它作爲答案。 :) – evanwong

回答

1

它應該是

${engineer.name} 

name的應爲小寫。