我正在尝试使用以下代码提交表单,但它不会填充bean中的字段:
//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
。
答案 0 :(得分:2)
默认情况下,f:ajax
只会执行@this
,这意味着它只会提交操作按钮,而不会提交表单中输入的任何值。试试这个:
...
<f:ajax execute='@form' render='@form' />
...
请参阅javadoc的执行部分:
...如果指定了文字,则ids必须以空格分隔。任何一个 关键字“@this”,“@ form”,“@ all”,“@ none”可以在id中指定 名单。如果未指定,则假定为“@this”的默认值。对于 例如,@ this clientIdOne clientIdTwo。