JSF托管bean

问题描述:

海兰所有,JSF托管bean

我是新与这一切,而且很可能这将是一个愚蠢的问题,但

我有了一个性质花的托管bean - 字符串,以及属性列表 - 花束

在一个xhtml我有一个h:inputText女巫你应该输入一个花名称,当你点击啊:命令按钮它callas一个动作#{managedBEan.addFlower},在addFlower我想添加用户输入的花名并添加到列表中---我正在使用啊:表格

但似乎对财产设定方法不受JSF叫当我点击该按钮,花属性有null作为超值,喜欢她被宣布

感谢您的sugestions, 亚历

你要申报的ActionListener,像这样:

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

,并在你的bean必须定义addFlower

public void addFlower(ActionEvent ev) 

执行作业。

+0

我定义了它,并调用了该方法,我检查了 – 2011-01-14 11:12:54

豆:

... 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不起作用,我想这就是为什么你的方法没有被调用。

标签是否环绕输入和按钮?

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

否则输入将不会被发送。