Показать / скрыть компонент на основе страницы, на которой я нахожусь - PullRequest
2 голосов
/ 03 февраля 2012

Мне нужно показать или скрыть поисковый компонент в моем приложении JSF2 на основе страницы, на которой находится пользователь. Я пытаюсь сделать это, установив атрибут "fromPage" в сеансе, например, так:

session.setAttribute("fromPage", "aboutUs");

Эти атрибуты устанавливаются всякий раз, когда пользователь нажимает на ссылку на домашней странице, и я проверяю их при обслуживании страниц сайта. Это хорошо работает, когда я использую h: commandLinks.

Но когда я переключаюсь на h: link, это перестает работать, потому что, по-видимому, все «исходные» методы h: ссылки на странице вызываются при отображении страницы, и поэтому атрибут «fromPage» всегда представляет последний » Результат »называется метод - и он бесполезен для моей цели.

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

1 Ответ

2 голосов
/ 03 февраля 2012

Используйте UIViewRoot#getViewId(), чтобы узнать, какой вид в данный момент открыт. Текущий UIViewRoot доступен неявной переменной EL #{view}.

<p>Hi user, you're on #{view.viewId}.</p>

<h:panelGroup rendered="#{view.viewId == '/aboutUs.xhtml'}">
    <p>This will be rendered when the current view is aboutUs.xhtml.</p>
</h:panelGroup>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...