2013-03-27 74 views
0

我试图提交表单用下面的代码,但它不填充字段在bean:JSF h:CommandButton不适用于f:ajax?

//input above 
<h:commandButton actionListener="#{transferenciaVagaBean.search()}" value="Search"> 
    <f:ajax render="@form"/> 
</h:commandButton> 

Althoug,如果我改变了组件:

//input above 
<a4j:commandButton actionListener="#{transferenciaVagaBean.search()}" 
        value="Search" 
        render="@form" /> 

它的工作原理完善。我用h:commandButton做错了什么?

我试图从actionListener更改为action,因为我在此之前遇到过问题,但它不能以h:commandButton的任何方式工作。

回答

2

默认情况下,f:ajax将只执行@this这意味着它只会提交操作按钮,而不是表单中任何输入值。试试这个:

... 
<f:ajax execute='@form' render='@form' /> 
... 

javadoc执行部分:

...如果指定文字的ID必须是空格分隔。可在 列表中指定 关键字“@this”,“@form”,“@all”,“@none”。如果未指定,则假定“@this”的默认值。例如,对于 示例,@ this clientIdOne clientIdTwo。

+0

OMG。那很简单。谢谢! – Migore 2013-03-27 22:41:26