2011-01-14 195 views
0

海蘭所有,JSF託管bean

我是新與這一切,而且很可能這將是一個愚蠢的問題,但

我有了一個性質花的託管bean - 字符串,以及屬性列表 - 花束

在一個xhtml我有一個h:inputText女巫你應該輸入一個花名稱,當你點擊啊:命令按鈕它callas一個動作#{managedBEan.addFlower},在addFlower我想添加用戶輸入的花名並添加到列表中---我正在使用啊:表格

但似乎對財產設定方法不受JSF叫當我點擊該按鈕,花屬性有null作爲超值,喜歡她被宣佈

感謝您的sugestions, 亞歷

回答

0

你要申報的ActionListener,像這樣:

<h:commandButton actionListener="#{myBean.addFlower}" . . . 

,並在你的bean必須定義addFlower

public void addFlower(ActionEvent ev) 

執行作業。

+0

我定義了它,並調用了該方法,我檢查了 – 2011-01-14 11:12:54

1

豆:

... myBean() { 
    Flower flower; 

    (...) 

    public void addFlower() { } 

    //getters and setters for Flower prop. 
} 

的Xhtml

<h:inputText value="#{myBean.flower.name}"/> 
<h:commandButton action="#{myBean.addFlower}" value="Click me!"/> 

這就是所有你需要做的。帶有get和set的花的實例,以及在「value」屬性中帶有花名的h:inputText

當你點擊這個按鈕,輸入的值將顯示在值中引用的屬性,因此,如果您打印flower.name(在addFlower方法),你將能夠看到用戶輸入。

actionListener也適用,但您需要檢查您正在使用的ActionEvent。 IDE總是導入java.awt.event.ActionEvent,但正確的是javax.faces.event.ActionEvent ... java.awt不起作用,我想這就是爲什麼你的方法沒有被調用。

0

標籤是否環繞輸入和按鈕?

<h:form> 
    <h:inputText value="#{myBean.flower.name}"/> 
    <h:commandButton action="#{myBean.addFlower}" value="Click me!"/> 
</h:form> 

否則輸入將不會被髮送。