Hy all,
我是所有这一切的新手,这可能是一个愚蠢的问题,但
我有一个托管bean,它有一个属性花 - 字符串,属性列表 - 花束
在xhtml中我有一个h:inputText in witch你应该输入一个花名,当你点击啊:命令按钮时它会调动一个动作#{managedBEan.addFlower},在addFlower中我想添加一个花名来输入用户并在列表中添加---我正在使用啊:表单
但是当我点击按钮时,似乎jsf没有调用属性的set方法,花属性的值为null,就像她被声明一样
谢谢你的sugestions, 亚历答案 0 :(得分: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
。
当您单击该按钮时,键入的值将被放入value中引用的属性中,因此如果您打印flower.name
(在addFlower方法中),您将能够看到用户输入。
actionListener
也适用,但您需要检查您用于ActionEvent
的导入内容。 IDE始终导入java.awt.event.ActionEvent
但正确的导航javax.faces.event.ActionEvent
... java.awt
不起作用,我猜这就是为什么不调用您的方法。
答案 1 :(得分:0)
您必须声明 actionListener ,如下所示:
<h:commandButton actionListener="#{myBean.addFlower}" . . .
在你的bean中你必须定义addFlower
public void addFlower(ActionEvent ev)
执行工作。
答案 2 :(得分:0)
标签是否包围输入和按钮?
<h:form>
<h:inputText value="#{myBean.flower.name}"/>
<h:commandButton action="#{myBean.addFlower}" value="Click me!"/>
</h:form>
否则将不会发送输入。