[英]how to get session().getAttribute() from Servlet doGet in JSP with Struts
我无法从 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 时,打印值显示为空。
如果您在jsp中使用如下所示,您将能够检索数据
session.getAttribute("我的名字");
并在您的 servlet 中尝试使用如下:
request.getSession(false).setAttribute("myname", "Steve");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.