Когда я нажимаю командную кнопку, а затем нажимаю кнопку браузера в форме и снова нажимаю на нее, она отправляется второй раз, не вызывая правильного исключения ...
Даже незнакомец, сам идентификатор формы отличается, когда я возвращаюсь, что означает, что он в какой-то момент восстановил «действительный» идентификатор формы.
Вот соответствующий код: Есть идеи?
<h:form id="accountActivationForm">
<s:token/>
<a4j:commandButton id="cancelActivateAccountButton"
action="#{controller[cancelAction]}"
image="/images/button-Cancel-gray.gif"
reRender="#{reRenderList}"
oncomplete="#{onCancelComplete}" />
 
<a4j:commandButton id="activateAccountButton"
action="#{controller[agreeAction]}"
image="/images/button-i-agree-continue.gif"
styleClass="activate-account-button"
reRender="#{reRenderList}"
oncomplete="#{onActivationComplete}"/>
</h:form>
Разъяснения:
- Я унаследовал это, поэтому я стараюсь изменить это как можно меньше. (Используется в нескольких местах.)
- Каждое действие возвращает представление, а не нуль. Я подтвердил это, переходя от строки к строке.
- В моем текущем тестовом примере reRenderList пуст.
- onActivationComplete также пусто.
Я собираюсь перейти от шаблона к шаблону, чтобы увидеть, сделал ли кто-то это с вложенными формами, потому что у моих коллег возникли не связанные с этим проблемы, поэтому было бы неплохо устранить это как возможную проблему.