2013-07-09 71 views
5

我在與JSP頁面的會話attriblute的問題,我想將它傳遞到一個字符串,這樣我可以用它來查詢數據庫例如,JSP無法把會話屬性轉換爲字符串

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

我知道它已經被正確填充,因爲如果我把下面的頁面會顯示正確的值

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

我得到的錯誤是

類型不匹配:不能從OBJE轉換ct到字符串

是否有不同的方式將會話變量放入String中?或者我是否完全錯誤。任何幫助非常感謝。

+0

什麼是會話變量?你如何得到它?它是否是'HttpSession'? – NINCOMPOOP

回答

9

你必須將它轉換爲String

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

其中session.getAttribute("group");回報Object

+1

我試着按照你說的代碼改變,但現在得到「字符串不能解析爲類型」 – user2168435

+0

你有導入<%@ page import =「java.lang。*」%> ???在你的jsp? –

+2

@Baadshah你不認爲導入是默認的。我認爲它是一個錯字。 –

1

session.getAttribute(String name)將返回Object

是安全和防止任何意外ClassCastException,我會用String.valueOf(Object obj),像這樣:

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

來源:

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

你只要把這樣的:

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

追加字符串,簡單。