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" />