2012-06-12 17 views
18

La mia webapp è pronta ma volevo solo aggiungere un piccolo menu a discesa con il nome utente come titolo. Questo è il mio codice JSP:Stampa gli attributi di sessione in jsp

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

e sais

sessione non può essere risolto

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> 

C'è una sessione perché ho effettuato l'accesso

riguarda

saluti,

.
+0

Che frameoworks stai utilizzando? –

risposta

36

È possibile utilizzare EL, che è preferibile in JSP.

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

O se il valore name è sicuro HTML, è possibile utilizzare

${sessionScope.name} 

Assicurarsi che il JSP è consentire sessione di accesso.

<%@ page session="true" %> 

Per utilizzare il JSTL di base, assicurarsi che sia incluso il seguente codice.

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
+0

Grazie per il vostro aiuto. Questo l'ha risolto. Anche grazie Japs! – user1007522

+0

@Pau cosa intendi per valore 'name' è HTML sicuro? – UnKnown

1

Sono d'accordo con la risposta data da @Pau Kiat Wee. Ma puoi anche impostare questo nome utente dal controller in modelmap e poi semplicemente usarlo in un EL. Questa sarebbe anche una buona opzione. Spero che questo ti aiuti. Saluti.

5

Si può provare un'alternativa:

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

La ragione per cui session non è sempre risolto è perché è necessario avere impostato session="false" nella direttiva della pagina.

Read this for further reference.

+0

Questa alternativa non ha funzionato –

0

Nel vostro servlet:

1) get your parameter: 

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

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

    request.setAttribute("param", param); 

Nel vostro JSP:

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

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

e ci si va.

Problemi correlati