Отображать электронную почту пользователей при входе в систему (JSF 2.0) - PullRequest
0 голосов
/ 20 апреля 2011

В моем веб-приложении есть шаблон, который используется на всех страницах.Я хочу создать небольшую метку в этом шаблоне (чтобы она была видна везде), чтобы отображать электронную почту пользователя, если он в данный момент вошел в систему.

Я думаю, что лучший способ - это непосредственно увидеть, существует ли он в сессии, вот как я создал ярлык:

<h:outputLabel id="usernameLabel"
               value="#{FacesContext.getCurrentInstance().getExternalContext()
                      .getSessionMap().get("userRole")}" />

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

1 Ответ

5 голосов
/ 20 апреля 2011

Лучшим подходом было бы хранить userBean в сеансе, содержащем информацию о пользователе.

, а затем

#{userBean.email}

Или вы можете напрямую связать сессию, используя jsp el

${userRole}

Я бы предпочел первый подход

Обновление

При успешном входе в систему установите часто требуемое в ManagedBean, например

@ManagedBean
@SessionScoped
public class CurrentUserInfo{
  private String userName;
  private String firstName;
  private String lastName;
  //and some other like DOB and etc..
  //+accessor methods 
}

Это было бы живым и доступным через сеанс

...