2013-05-17 45 views
0

設定值我有selectOneMenu用於JSF selectOneMenu用於 - 在豆

 <h:selectOneMenu id = "current" value = "#{helloBean.currentLanguage}"> 
     <f:selectItems value="#{helloBean.categoryLanguages}"></f:selectItems> 
     <f:ajax render = "ccData"></f:ajax> 
    </h:selectOneMenu> 

這裏是爲helloBean

@ManagedBean(name="helloBean") 
@SessionScoped 
public class HelloBean implements Serializable { 
    private String currentLanguage; 

    public void setcurrentLanguage(String currentLanguage){ 
     this.currentLanguage = currentLanguage; 
     } 
} 

我有currentLanguage的設置問題。 Eclipse顯示一條錯誤消息,表明#{helloBean.currentLanguage}不可設置。當我運行我的項目時,出現錯誤

javax.servlet.ServletException: /hello.xhtml @19,74 value="#{helloBean.currentLanguage}": Property 'currentLanguage' not readable on type java.lang.String 
+2

Java區分大小寫。注意區分大小寫,並注意區分大小寫。此外,你忘了getter方法。這兩個錯誤都是相當基本的/微不足道的。重新閱讀JSF書籍/教程/資源或尋找更好的資源。您可以開始使用我們的JSF wiki頁面(將[[jsf]'標籤懸停在問題下方,然後單擊* info *鏈接)。 – BalusC

回答

1

正如BalusC指出的,Java區分大小寫。
所以,當你寫的:value=#{helloBean.currentLanguage} JSF預計需定義setter和屬性(currentLanguage)的吸氣劑:(注意:在當前上C和添加getter)

public void setCurrentLanguage(String language){ 
    this.currentLanguage = language;//Or whatever 
} 


既然你使用Eclipse,嘗試自動生成類的訪問方法。 (右鍵單擊 - >源代碼 - >生成getter和setter)