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)
执行作业。
答
豆:
... 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>
否则输入将不会被发送。
我定义了它,并调用了该方法,我检查了 – 2011-01-14 11:12:54