2012-06-12 101 views
18

我的web應用程序已準備就緒,但我只想添加一個用戶名作爲標題的下拉菜單。這是我的JSP代碼:在jsp中打印會話屬性

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

,它最高審計機關

會議解決不了

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

您使用的是什麼frameoworks? –

回答

36

您可以使用EL,這在JSP中是首選。

​​

或者,如果name值是HTML安全的,你可以使用

${sessionScope.name} 

確保JSP是允許訪問會話。

<%@ page session="true" %> 

要使用核心JSTL,請確保包含以下代碼。

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

感謝您的幫助。這解決了它。日本人也感謝! – user1007522

+0

@Pau你的意思是「name」值是HTML安全嗎? – UnKnown

1

我同意@Pau Kiat Wee的回答。但是你也可以在modelmap中的控制器中設置這個用戶名,然後在EL中簡單地使用它。這也是一個不錯的選擇。希望這可以幫助你。乾杯。

5

你可以嘗試另一種:

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

之所以session是沒有得到解決是因爲你必須在你的頁面指令已設置session="false"

Read this for further reference

+0

這個替代方案沒有奏效 –

0

在你的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}" />" /> 

和你去。