jsp无法将session属性放入字符串

时间:2013-07-09 10:23:55

标签: java jsp

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

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

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

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

我得到的错误是

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

是否有将会话变量放入String的不同方法?或者我完全错了。任何非常感谢的协助。

3 个答案:

答案 0 :(得分:10)

您必须将其投射到String

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

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

答案 1 :(得分: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 :(得分:-2)

你刚才这样说:

while (true) {
    StrAr.add("HELLO WORLD");
}

追加为字符串,简单。