JSF: Показать историю навигации с помощью кнопок "назад" и "вперед"

Я хотел бы знать, как показать моему пользователю в верхней части страницы историю его навигации. Как это:

home > register > product

А как реализовать кнопки назад и вперед в JSF. Я прочитал некоторые темы, но ни одна из них не объясняет, как реализовать эти функции. Я не хочу использовать какой-либо фреймворк для этого, я думаю, что это простая вещь, которая не обязательна для использования фреймворка.

Я думаю, что это не очень хорошая идея сделать что-то с <h:link /> полностью, я приведу вам пример:

Вход пользователя в систему:

home > register

пользователь сам регистрируется

home > login > register (есть ссылка, где он / она может зарегистрировать другого пользователя)

правильная история будет:

home > login > register

И не

home > register

2 ответа

Какую часть второго ответа в вашей ссылке вы не поняли? Использование LinkedList (Stack осуществляется LinkedList или Deque осуществляется ArrayDeque выполнит свою работу), и управление самими операциями push и pop не должно быть трудным, также создайте раздел на своей странице, чтобы эти ссылки были реализованы <ui:repeat>,

В любом случае, PrimeFaces решил часть этой работы с помощью компонента breadcumb, даже если вы не хотите использовать стороннюю библиотеку для этой работы, вы можете взглянуть на источники и посмотреть, как ребята из PrimeFaces выполнили эту работу.

Если у вас есть каждая страница как отдельная страница.xhtml, то вы можете просто жестко кодировать хлебные крошки. Если вы хотите, чтобы кнопка "Назад" работала хорошо, то во все ваши ссылки / кнопки нужно добавить ?faces-redirect=true на ваши ссылки.

пример

<h:commandLink value="Test" action="blah.xhtml?faces-redirect=true" />
Другие вопросы по тегам