2012-06-12 8 views
18

Moja aplikacja internetowa jest gotowa, ale chciałem tylko dodać małe menu z nazwą użytkownika jako tytułem. To jest mój kod JSP:Drukowanie atrybutów sesji w jsp

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

i to sais

sesja nie może być rozwiązany

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> 

Jest to sesja, bo jestem zalogowany

poważaniem,

.
+0

Jakich ramek używasz? –

Odpowiedz

36

Możesz użyć EL, który jest preferowany w JSP.

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

Lub jeśli wartość name jest bezpieczny HTML, można użyć

${sessionScope.name} 

Upewnij się, że JSP jest pozwolić sesji dostępu.

<%@ page session="true" %> 

Aby korzystać z podstawowych JSTL, upewnij się, że poniższy kod jest dołączony.

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

Dzięki za pomoc. To rozwiązało to. Japończycy również dziękują! – user1007522

+0

@Pau co masz na myśli, mówiąc o wartości 'name', jest bezpieczne w HTML? – UnKnown

1

Zgadzam się z odpowiedzią udzieloną przez @Pau Kiat Wee. Ale możesz również ustawić tę nazwę użytkownika ze sterownika w mapie modelu, a następnie po prostu użyć go w EL. Byłaby to również dobra opcja. Mam nadzieję, że to ci pomoże. Twoje zdrowie.

5

Można spróbować alternatywę:

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

Powodem, dla którego nie jest uzyskiwanie session rozwiązany dlatego należy ustawić session="false" w dyrektywie strony.

Read this for further reference.

+0

Ta alternatywa nie zadziałała –

0

W swojej serwletu:

1) get your parameter: 

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

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

    request.setAttribute("param", param); 

W swojej JSP:

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

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

i tam idziesz.