我的网络应用已准备就绪,但我只是想添加一个用户名为标题的小下拉菜单。这是我的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>
因为我已登录而有会话。
亲切的问候,
答案 0 :(得分:39)
您可以使用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"%>
答案 1 :(得分:5)
您可以尝试替代方案:
<% request.getSession().getAttribute("name") %>
session
未得到解决的原因是您必须在网页指令中设置session="false"
。
答案 2 :(得分:1)
我同意@Pau Kiat Wee给出的答案。但您也可以在模型映射中从控制器设置此用户名,然后在EL中简单地使用它。这也是一个不错的选择。希望这对你有所帮助。欢呼声。
答案 3 :(得分:1)
在你的servlet中:
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}" />" />
然后你去。