【问题标题】:how to get session().getAttribute() from Servlet doGet in JSP with Struts如何使用 Struts 在 JSP 中从 Servlet doGet 获取 session().getAttribute()
【发布时间】:2020-05-28 17:23:57
【问题描述】:

我无法从 Servlet 获取会话属性到 JSP 页面。 我的 Servlet:(columnChartServlet.java)

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.getSession().setAttribute("myname", "Steve");
    request.getSession().setAttribute("age", "50");
}

我的 JSP (admin.jsp)

<head>
<%@page import="com.cos.sms.actions.columnChartServlet" %>
<jsp:useBean id="chartMast" class="com.cos.sms.actions.columnChartServlet" scope="session" />
</head>
<body>
<%= request.getAttribute("myname") %>
<%= request.getAttribute("age")  %>
<%= request.getSession().getAttribute("myname") %>
<%= request.getSession().getAttribute("age") %>

</body>

我的 Struts 配置

<action input="/jsp/login.jsp" path="/login" name="loginForm"  type="com.cos.sms.actions.LoginAction" scope="session" parameter="method" >
    <forward name="admin" path="/jsp/admin.jsp"/>   
    <forward name="normal" path="/view_info.do?method=getDropdownSelectData"/>
    <forward name="diplayloginjsp" path="/jsp/login.jsp"/>
</action>

登录后我的 admin.jsp 将在 login.do 的 url 中打开。

我的 servlet 的 web.xml 配置

<servlet>
    <servlet-name>columnChartServlet</servlet-name>
    <servlet-class>com.cos.sms.actions.columnChartServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>columnChartServlet</servlet-name>
    <url-pattern>/columnChartServlet</url-pattern>
</servlet-mapping> 

当我运行应用程序 admin.jsp 时,打印值显示为 null。

【问题讨论】:

  • 我不清楚你认为你在做什么。 useBean 实例化一个类并将其放入指定的范围内——它不会神奇地运行 servlet。

标签: java jsp servlets struts


【解决方案1】:

如果你在jsp中像下面这样使用,你将能够检索数据

session.getAttribute("我的名字");

并在您的 servlet 中尝试使用如下:

request.getSession(false).setAttribute("myname", "Steve");

【讨论】:

  • 我就是这样用的...但我没有得到任何数据,只是空...
  • 可能没有为您的应用程序创建会话,这就是您没有获取数据的原因。我正在更新帖子
  • 不,正在创建会话...我可以从会话中检索登录详细信息的数据。比如用户名、类型,以及我无法读取的所有这些 servlet 数据。
  • 试试修改后的帖子
  • 修改后的帖子仍然没有运气。还是一样的空。将servlet调用到jsp中的方式是否正确?
猜你喜欢
  • 1970-01-01
  • 2015-06-02
  • 2015-07-04
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
相关资源
最近更新 更多