Атрибуты сеанса печати в jsp
Мой webapp готов, но я просто хотел добавить небольшое раскрывающееся меню с именем пользователя в качестве названия. Это мой код jsp:
<i class="icon-user"></i>
<%
session.getAttribute("name");
%>
<span class="caret"></span>
и это sais
сеанс не может быть разрешен
9: <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
10: <i class="icon-user"></i>
11: <%
12: session.getAttribute("name");
13: %>
14: <span class="caret"></span>
15: </a>
Существует сеанс, потому что я вошел в систему.
С уважением,
Ответы
Ответ 1
Вы можете использовать EL, который предпочтительнее в JSP.
<c:out value="${sessionScope.name}"/>
Или, если значение name
является безопасным для HTML, вы можете использовать
${sessionScope.name}
Убедитесь, что JSP разрешает сеанс доступа.
<%@ page session="true" %>
Чтобы использовать основной JSTL, убедитесь, что приведен следующий код.
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Ответ 2
Вы можете попробовать альтернативу:
<% request.getSession().getAttribute("name") %>
Причина, по которой session
не устраняется, заключается в том, что вы должны установить session="false"
в своей странице.
Прочтите это для дальнейшей справки.
Ответ 3
Я согласен с ответом @Pau Kiat Wee. Но вы также можете установить это имя пользователя из контроллера в modelmap, а затем просто использовать его в EL. Это также будет хорошим вариантом. Надеюсь, это поможет вам. Приветствия.
Ответ 4
В вашем сервлете:
1) get your parameter:
String param = request.getParameter("param");
2) send it to the request object as an attribute:
request.setAttribute("param", param);
В вашем JSP:
use JSTL, and EL to return the attribute you sent from your servlet:
<input type="text" name="param" value="<c:out value="${param}" />" />
и там вы идете.