2011-10-09 51 views
0

我正在使用在tomcat 5.0.28上運行的JBoss seam應用程序(JSF 1.1和MyFaces Tomahawk)。在Getter/Setter名字上挑剔? JSF/Jboss Seam

什麼是竊聽我的是,有時,當我創建一個變量和setter和getter它他們沒有得到拾起resutling在我得到這樣的錯誤:

javax.faces.el.PropertyNotFoundException: Bean: com.sportsMed.Util , property: mappingUID 

我必須嘗試重複更改Setter/Getter名稱並進行測試,直到它通過而沒有錯誤,並且可能會經歷5-6個不同的名稱,並且變得浪費時間。

我做錯了什麼?就在10分鐘前,我不得不改變:

private String UserName; 
    public void setUserName(String s)... 
    public String getUserName().... 

沒有工作,導致找不到屬性,所以我改變了上面:

private String user_Name; 
    public void setuser_Name(String s)... 
    public String getuser_Name().... 

都能跟得上,最後嘗試:

private String nUser; 
    public void setnUser(String s)... 
    public String getnUser().... 

不知何故,這工作正常!正如有時提到它將不會工作,直到5-6名稱更改!有人能告訴我我做錯了什麼或者爲什麼發生了嗎?感謝

回答

4
  • 字段必須是較低的情況下,沒有下劃線
  • 設定器必須set +大寫字段(同樣爲吸氣劑)

所以:

private String userName; 
public void setUserName(..); 
public String getUserName(..); 

參考:javabeans specjava naming conventions

使用IDE(Eclipse, NetBeans,IntelliJ)來生成setter和getters會讓事情變得更容易。

+0

感謝您的輸入Bozho,你可以通過任何機會提供一個鏈接,這是從哪裏引用,謝謝 – ke3pup

+1

是的,看到我更新的答案。 javabeans規範有點難以閱讀,但如果你真的需要看到我的陳述是正確的 - 閱讀它:) – Bozho