web-dev-qa-db-fra.com

Imprimer les attributs de session en jsp

Mon application Web est prête mais je voulais juste ajouter un petit menu déroulant avec le nom d'utilisateur comme titre. Ceci est mon code jsp:

                <i class="icon-user"></i> 
                <%
                    session.getAttribute("name");
                %>
                <span class="caret"></span>

et il sais

la session ne peut pas être résolue

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>

Il y a une session parce que je suis connecté. 

Sincères amitiés,

18
user1007522

Vous pouvez utiliser EL, qui est préféré dans JSP.

<c:out value="${sessionScope.name}"/>

Ou si la valeur name est HTML safe, vous pouvez utiliser

${sessionScope.name}

Assurez-vous que la JSP est une session d’autorisation d’accès.

<%@ page session="true" %>

Pour utiliser le noyau JSTL, assurez-vous que le code suivant est inclus.

<%@taglib uri="http://Java.Sun.com/jsp/jstl/core" prefix="c"%>
39
Pau Kiat Wee

Vous pouvez essayer une alternative:

<% request.getSession().getAttribute("name") %>

La raison pour laquelle session n'est pas résolu, c'est que vous devez avoir défini session="false" dans votre directive de page.

Lisez ceci pour une référence ultérieure .

5
Kazekage Gaara

Je suis d'accord avec la réponse donnée par @Pau Kiat Wee. Mais vous pouvez également définir ce nom d'utilisateur à partir du contrôleur dans modelmap, puis simplement l'utiliser dans un EL. Ce serait aussi une bonne option. J'espère que cela vous aide. À votre santé.

1
Japan Trivedi

Dans votre servlet:

 1) get your parameter:

    String param = request.getParameter("param");

 2) send it to the request object as an attribute:

    request.setAttribute("param", param);

Dans votre JSP:

   use JSTL, and EL to return the attribute you sent from your servlet:

   <input type="text" name="param" value="<c:out value="${param}" />" />

et voilà.

0
ShadowCrow