簡體   English   中英

如何使用 Struts 從 JSP 中的 Servlet doGet 獲取 session().getAttribute()

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM