【发布时间】:2014-08-05 04:13:50
【问题描述】:
我在会话中放了一个对象:
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>
脚本显示用户名,但在“来自会话的用户名:”之后没有显示任何内容。为什么?
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定义。还要定义用于支持它的库。 -
谢谢 JB 尼泽特!我忘了包括核心库。工作正常。