7

我在 jsp 页面中遇到会话属性问题,我想将其传递到字符串中,以便我可以使用它来查询数据库,例如,

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

我知道它已正确填充,因为如果我将以下内容放在页面中,它会显示正确的值

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

我得到的错误是

类型不匹配:无法从 Object 转换为 String

有没有不同的方法将会话变量放入字符串?还是我做错了。非常感谢任何帮助。

4

3 回答 3

13

你必须把它投射到String

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

哪里 session.getAttribute("group"); 返回Object

于 2013-07-09T10:24:40.763 回答
1

session.getAttribute(String name)将返回一个Object.

为了安全并防止任何意外ClassCastException,我会使用String.valueOf(Object obj),如下所示:

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

资料来源:

转换为 String 和 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)

于 2015-09-04T14:48:18.007 回答
-2

你只是这样说:

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

附加为字符串,简单。

于 2015-12-13T08:08:20.967 回答