Когда я нажимаю кнопку управления, а затем нажмите браузер кнопку назад в форму и нажмите на него еще раз, она представляет во второй раз, не бросать надлежащее исключение ...Шов: маркер тега не соблюдается
Даже незнакомец, сам идентификатор формы РАЗЛИЧИЙ, когда я возвращаюсь, что означает, что он восстановил «действительный» идентификатор формы в какой-то момент.
Вот код: Любые идеи?
<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>
Разъяснения:
- Я унаследовал это, так что я пытаюсь изменить его как можно меньше. (Он используется в нескольких местах.)
- Каждое действие возвращает вид, а не null. Я подтвердил это, шаг за шагом по очереди.
- ReRenderList пуст в моем текущем чехле.
- onActivationComplete также пуст.
Я собираюсь пройти шаблон по шаблону, чтобы узнать, сделал ли кто-нибудь его с вложенными формами, потому что из-за этого у моих коллег были несвязанные проблемы, так что это не помешает устранить это как возможный проблема.
ОК, так почему он перезагружается, когда я нажимаю кнопку «Назад»? Каков наилучший способ предотвратить повторное представление формы (поскольку это не та же форма)? –
Кнопка «Назад» повторно выполнит запрос, если он не был кэширован браузером. То есть запрос имеет по крайней мере 'Cache-Control: no-cache',' Pragma: no-cache' и 'Expires: 0' в заголовках ответов. – BalusC