Как показать представление в зависимости от состояния вошедшего в систему пользователя? - PullRequest
0 голосов
/ 26 декабря 2011

В настоящее время у меня есть сервер с EJB, который вызывается сессионным компонентом. EJB по существу выясняет, какое состояние имеет пользователь, то есть какое представление должен отображать внешний интерфейс. Пользователь просто входит в систему и перенаправляется к рассматриваемому представлению. В данный момент EJB-компонент возвращает POJO, в котором определяется перечисление состояния, из которого сессионный компонент определяет, какое представление показывать. У меня вопрос, есть ли более элегантный способ сделать это? Я новичок в JSF, Facelets и Seam, но у меня большой опыт работы с MVC и MVP с использованием шаблонов слушателей и наблюдателей.

1 Ответ

0 голосов
/ 27 декабря 2011

Попробуйте что-то вроде этого:

  <page view-id="/pagewithlink.xhtml">
    <navigation>
      <rule if="#{identity.isLoggedIn}">
        <redirect view-id="/first.xhtml"/>
      </rule>
      <rule if="#{!identity.isLoggedIn}">
        <redirect view-id="/other.xhtml"/>
      </rule>
    </navigation>
  </page>
...