如何在会话.jsp文件中访问应用程序数据

时间:2015-06-19 16:54:19

标签: java html jsp session

我正在执行以下循环来查看我的所有会话属性:

<%
  for (Enumeration e = session.getAttributeNames(); e.hasMoreElements(); ) {     
      String attribName = (String) e.nextElement();
      Object attribValue = session.getAttribute(attribName);
%>
<BR>
<%= attribName %> - <%= attribValue %>

将输出:

user.principal.key / user.ip.address.key / session.user.key

但是,我希望访问会话中可能不存在的更多用户信息,就像我在user.java文件中设置的其他变量一样。

如何在会话中存储这些变量的最佳方法,所以我可能会将它们打印到我的页面?

1 个答案:

答案 0 :(得分:1)

将它们设置为会话属性:

public void doGet(HttpServletRequest request, HttpServletResponse response) {

    HttpSession session = request.getSession();
    session.setAttribute("myVariable", variableValue);
}

使用某些标记库(如JSTL)来访问从servlet发送的属性,而不是使用scriptlet。 如果JSTL使用out来打印变量的值:

<c:out value="${myVariable}" />

不要忘记在JSTL中添加JSP代码lib:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

并从here

下载JSTL依赖项