2015-12-03 10 views
0

У меня есть h: commandButton внутри updatePerson.xhtml для обновления информации о человеке, но когда я нажимаю на него, метод действия страниц (controller.preUpdatePerson) вызывается, как если бы я был снова войдя на эту страницу. Я получаю еще большую потерю при этом вызове к действию страниц, потому что объекты внутри controller.preUpdatePerson равны нулю в этот момент, а затем останавливаются здесь.Действие страниц швов вызывается до h: commandButton action

Контроллер.update никогда не вызывается. Я не могу сказать, почему это происходит. Все сущности и контроллеры находятся в области разговора. Я пробовал много комбинаций, и это не проблема транзакций. Так что здесь происходит?

Системные спецификации .: Seam 2.2.2 JSF 1,2

pages.xml:

<page view-id="/updatePerson.xhtml"> 
     <action execute="#{controller.preUpdatePerson}" on-postback="false" /> 
     <begin-conversation join="true" flush-mode="manual"/> 

кусок updatePerson.xhtml:

<a4j:form id="editPerson" styleClass="inline" enctype="multipart/form-data"> 
<h:commandButton id="editPerson" value="#{messages['button.save']}" 
        action="#{controller.update}"/> 
... 

ответ

0

На основании этого ответа commandButton/commandLink/ajax action/listener method not invoked or input value not updated моя проблема делать с enctype = "multipart/form-data", поскольку страница отправляет файл для загрузки. Мне нужно было правильно настроить фильтры в файле web.xml.

+0

Поэтому всегда старайтесь создать [mcve], чтобы легче находить такие вещи – Kukeltje