кнопка возврата в JSF - PullRequest
11 голосов
/ 16 марта 2009

как реализовать кнопку «назад» как командную кнопку, которая работает универсально? с кнопкой «назад» я имею в виду не кнопку браузера, а кнопку, которая находится где-то на странице. не всегда возможно использовать шаблон Post-redirect-get.

Совершенно нецелесообразно передавать информацию о каждом месте, на которое должна указывать кнопка.

может быть зарезервированное ключевое слово для правила навигации, которое указывает на последнее примененное правило навигации?

Ответы [ 4 ]

15 голосов
/ 16 марта 2009

Я использую h:commandLink с атрибутом onclick="history.go(-1)" в этом случае. Работает универсально.

3 голосов
/ 16 марта 2009

Моя первая идея:

на каждый

<h:commandLink .....>

и т.д .; сохранить строку навигации в bean-компоненте или даже в стеке, а затем кнопка «Назад» может извлечь ее и просто вернуть, как указано вface-config.xml

Вторая идея.

Но при отражении вы должны переопределить или использовать фильтр, чтобы перехватывать команды навигации и помещать их в стек. Тогда кнопка «назад» может просто отключить навигацию, и вы поехали.

1 голос
/ 16 августа 2016

Вы можете использовать:

<p:commandButton onclick="window.history.back();"/>

Эта инструкция делает то же самое, что и onclick="history.go(-1)", что сказала Алексмия.

1 голос
/ 16 марта 2009

Я бы сохранил строку навигации в типе стека, и вы используете stack.peek (), чтобы показать, какой сайт находится позади вас, и при его нажатии вы запускаете событие действия, которое вызывает stack.pop ()

...