2012-06-12 27 views
18

Ứng dụng web của tôi đã sẵn sàng nhưng tôi chỉ muốn thêm một menu thả xuống nhỏ với tên người dùng làm tiêu đề. Đây là mã jsp của tôi:Thuộc tính phiên in trong jsp

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

và nó sais

phiên không thể được giải quyết

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ó một phiên vì tôi đăng nhập

liên quan

Kind,

.
+0

Bạn đang sử dụng frameoworks nào? –

Trả lời

36

Bạn có thể sử dụng EL, được ưu tiên trong JSP.

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

Hoặc nếu giá trị name là an toàn HTML, bạn có thể sử dụng

${sessionScope.name} 

Hãy chắc chắn rằng JSP là cho phép phiên truy cập.

<%@ page session="true" %> 

Để sử dụng JSTL cốt lõi, hãy đảm bảo bao gồm mã sau đây.

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

Cảm ơn sự giúp đỡ của bạn. Điều này giải quyết nó. Japs cũng cảm ơn! – user1007522

+0

@Pau bạn có ý nghĩa gì khi giá trị 'tên' là HTML an toàn? – UnKnown

1

Tôi đồng ý với câu trả lời được đưa ra bởi @Pau Kiat Wee. Nhưng bạn cũng có thể thiết lập tên người dùng này từ bộ điều khiển trong mô hình và sau đó chỉ đơn giản sử dụng nó trong một EL. Đó cũng sẽ là một lựa chọn tốt. Hy vọng điều này sẽ giúp bạn. Chúc mừng.

5

Bạn có thể thử một sự thay thế:

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

Lý do mà session là không nhận được giải quyết là bởi vì bạn phải thiết lập session="false" trong chỉ thị trang của bạn.

Read this for further reference.

+0

Phương án này không hoạt động –

0

Trong servlet của bạn:

1) get your parameter: 

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

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

    request.setAttribute("param", param); 

Trong JSP của bạn:

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

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

và có bạn đi.

Các vấn đề liên quan