как получить session (). getAttribute () из сервлета doGet в JSP со Struts - PullRequest
1 голос
/ 13 февраля 2020

Не удается получить атрибут сеанса из сервлета на страницу JSP. Мой сервлет: (columnChartServlet. java)

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

My 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>

my Struts-config

<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>

после входа в систему моего администратора. jsp откроется в URL-адресе login.do.

my web. xml config для сервлета

<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 показывает значение печати как ноль.

1 Ответ

1 голос
/ 13 февраля 2020

вы сможете получить данные, если будете использовать, как показано ниже, в jsp

session.getAttribute ("myname");

и в вашем сервлете попробуйте использовать, как показано ниже:

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

...