2013-07-09 32 views
5

Tôi đang gặp vấn đề với phiên họp trong trang jsp, tôi muốn chuyển nó thành chuỗi để tôi có thể sử dụng nó để truy vấn cơ sở dữ liệu, ví dụ:jsp không thể đặt thuộc tính phiên thành chuỗi

String group=session.getAttribute("group"); 

tôi biết nó đã được dân cư một cách chính xác bởi vì nếu tôi đặt dưới đây trong một trang nó sẽ hiển thị giá trị đúng

<%= 
session.getAttribute("group") 
%> 

lỗi tôi nhận được là

Loại không phù hợp: không thể chuyển đổi từ Obje ct tới chuỗi

có cách nào khác để đặt biến phiên vào chuỗi không? hoặc tôi đang làm nó hoàn toàn sai. bất kỳ sự hỗ trợ nào được đánh giá cao.

+0

Biến 'phiên' là gì? Làm thế nào để bạn có được nó ? Có phải 'HttpSession' không? – NINCOMPOOP

Trả lời

9

Bạn phải cast nó để String

String group=(String)session.getAttribute("group"); 

nơi session.getAttribute("group"); lợi nhuận Object.

+1

tôi đã thử thay đổi bằng mã như bạn đã nói nhưng bây giờ nhận được "chuỗi không thể được giải quyết thành một loại" – user2168435

+0

Bạn có nhập <% @ page import = "java.lang. *"%> ??? trong jsp của bạn? –

+2

@Baadshah bạn không nghĩ rằng nhập là mặc định. Tôi nghĩ đó là lỗi đánh máy. –

1

session.getAttribute(String name) sẽ trả lại Object.

Để được an toàn và ngăn chặn bất kỳ tình cờ ClassCastException, tôi sẽ sử dụng String.valueOf(Object obj), như thế này:

String group = String.valueOf(session.getAttribute("group")); 

Nguồn:

Difference between casting to String and String.valueOf

http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#valueOf(java.lang.Object)

-2

bạn chỉ cần đặt như sau:

String group=""+session.getAttribute("group"); 

nối thêm dưới dạng chuỗi, đơn giản.

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