Я поставил объект в сессии:JSTL получить объект из сессии
session.setAttribute("userDTO", currentUser);
И я пытаюсь отобразить его с помощью EL. Мне удалось с помощью scriplets (доказать, что объект задан в сеансе).
код в JSP:
<body>
<% UserDTO userdto=(UserDTO)session.getAttribute("userDTO"); %>
<%=userdto.getUsername() %>
Username from session:<c:out value="${sessionScope.userDTO.username }"/>
</body>
В scriplets отображать имя пользователя, но ничего не отображается после "Имя пользователя из сессии:". Зачем?
UserDTO класс:
public class UserDTO {
private int ID;
private String email;
private boolean emailConfirmed;
private String username;
private String role;
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public boolean isEmailConfirmed() {
return emailConfirmed;
}
public void setEmailConfirmed(boolean emailConfirmed) {
this.emailConfirmed = emailConfirmed;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
Где вы положили Это? Что такое переменная 'session', как вы ее инициализировали? –
Возможно, вы забыли включить основную библиотеку в свой JSP. Пожалуйста, покажите нам минимальный JSP, воспроизводящий проблему, начиная с самой первой строки ее до последней. Также посмотрите на сгенерированный HTML-код (используя «источник страницы просмотра» в браузере). –
Что такое префикс 'c' в вашем теге? Подсчитайте определение 'taglib'. Также определите, какие библиотеки используются для его поддержки. –