【问题标题】:JSTL get object from sessionJSTL 从会话中获取对象
【发布时间】: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 尼泽特!我忘了包括核心库。工作正常。

标签: jsp session struts2 jstl


【解决方案1】:

在您的 JSP 中,您可以简单地使用表达式(它称为 EL - 表达式语言)来完成 -

<body>
  Username from session : ${sessionScope.currentUser}
</body>

【讨论】:

    【解决方案2】:

    第一步:jstl-x.x.jar放入lib文件夹或将依赖项放入maven。

    第 2 步:jsp 文件中

     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     ...
     <body>
         <% UserDTO userdto=(UserDTO)session.getAttribute("userDTO"); %>
         <%=userdto.getUsername() %>
         Username from session:<c:out value="${sessionScope.userDTO.username }"/>
          ...
     </body>
    

    【讨论】:

      猜你喜欢
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      相关资源
      最近更新 更多