2011-01-14 12 views
0

Hyのすべてを、管理JSFは、Bean

私はこのすべてに新しいですし、おそらくこれはばかな質問になりますが、

Iプロパティの花持って管理対象Bean持っている - 文字列、およびプロパティリスト - 花束

xhtmlで私はh:inputTextの花嫁の名前を入力する必要があります。コマンドボタンをクリックすると、addFlowerのアクション#{managedBEan.addFlower}が追加されますユーザーが入力し、リストに追加された花の名前---私はああを使用しています:フォーム

しかし、それは私がボタンをクリックすると、プロパティのsetメソッドがJSFによって呼び出されていないように見える彼女は

が アレックス

答えて

0

、ごsugestionsをありがとう宣言したように、花のプロパティは、値としてnullを持っています

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

とあなたの豆にあなたがaddFlower

public void addFlower(ActionEvent ev) 
を定義する必要があります:あなたはこのよう のactionListenerを宣言する必要がありジョブを実行する

+0

私はそれを定義し、メソッドは呼び出されました。私は –

+0

をチェックしました。プロパティのsetMethodは呼び出されません –

1

豆:あなたがしなければならないすべてのthats

... 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のインスタンス。

ボタンをクリックすると、入力された値がvalueで参照されるプロパティに入れられますので、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> 

それ以外の入力は送信されません。

関連する問題