2013-03-27 7 views
0

Я пытаюсь отправить форму с помощью следующего кода, но он не заполняет поля в компоненте: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выполнить:

... Если буквальное указано идентификаторы должны быть разграничены пространство. Любой из ключевых слов «@this», «@form», «@all», «@none» может быть указан в списке id . Если не указано, предполагается значение по умолчанию «@this». Для примера , этот клиентIdOne clientIdTwo.

+0

OMG. Это было легко. Благодаря! – Migore

Смежные вопросы