Отмена навигации по кнопкам в JSF - PullRequest
4 голосов
/ 02 апреля 2012

У меня есть кнопка отмены на странице. Но эту страницу можно открыть из разных мест. Я имею в виду, что родительская страница может отличаться.

Теперь, нажав на кнопку отмены, мне нужно вернуться на ту страницу, откуда я пришел - как history.back().

Как мы можем реализовать это в JSF?

Может кто-нибудь, пожалуйста, наставить меня?

И это history.back() напрямую не работает.

<h:commandButton type="button" id="cancel" image="#{sessionScope.sessionObject.graphicImageFolderName}cancel_btn.gif" accesskey="#{bundle.oscer_command_cancel_accesskey}" value="Cancel" action="#{templatePrescriptionMaintenanceBackingBean.goBack}" />

В случае history.back() я делаю ту же кнопку, что и ..

<h:commandButton type="button" id="cancel" image="#{sessionScope.sessionObject.graphicImageFolderName}cancel_btn.gif" accesskey="#{bundle.oscer_command_cancel_accesskey}" value="Cancel" onclick="javascript: history.back();"/>

Что-то не так в обоих случаях?

Ответы [ 2 ]

5 голосов
/ 02 апреля 2012

Попробуй

<h:commandLink onclick="history.go(-1); return false;">

Или

<h:commandButton onclick="history.back(); return false;">

работаешь на тебя?

1 голос
/ 02 апреля 2012

Получить обработчик навигации по умолчанию через Application.getNavigationHandler .Оберните его в отражающий прокси и установите прокси в качестве нового обработчика навигации по умолчанию через Application.setNavigationHandler .В обработчике вызова прокси вы можете отслеживать все события навигации с их результатами и строить свою собственную историю из этого.Затем используйте эту историю, чтобы обработать навигацию по кнопке «Отмена», вернувшись в историю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...