这个问题很简单,pa.setEID((long)session.getAttribute("EID"))转换不成功,换下面这种方式
pa.setEID(Long.parseLong(session.getAttribute("EID").toString())欢迎访问www.zhihuigu.com解决技术问题。

解决方案 »

  1.   

    session.getAttribute("")返回的是string类型,所以需要把string类型转换成long型,而Long.parseLong()函数能完成次功能,所以使用pa.setEID(Long.parseLong(session.getAttribute("EID").toString())是对的
      

  2.   

    session.getAttribute(str)取出的是一个object对象!
    如果你存储的是Long的话,可以如下操作:
    pa.setEID(((Long)session.getAttribute("EID")).longValue())
    这样的话才可以!
    session.getAttribute(str)取出的默认型别是Object的,而String是Object的子类所以你
    pa.setSex((String)session.getAttribute("Sex"));这样就没问题!
    而long int 都是primitive type,不能直接存入或取出!所以出错!
      

  3.   

    getAttribute拿出来的是Object
    你用long转型当然出问题,long不是类而是简单数据类型,要用也是用Long这个封装类来转
    然后再用Long的相应方法取到long值才对
      

  4.   

    session.getAttribute("")返回的是Object,如果你的值实际上是String,可以直接Cast,但long是简单数据类型,不是Object的子类,所以不能造型,可以先Cast Long再通过Long.parseLong()
      

  5.   

    treeClimber(我以我血荐轩辕) 正解!
      

  6.   

    呵呵,其实随便你存入的是什么
    你全部一string拿出来,然后再转为long你存进去的时候好象也不可以以long来存吧所以它的对象就是object,然后你需要什么样的类型对这个object进行处理
      

  7.   

    object! 在应用的时候要强制转换成所要提取的类型!
      

  8.   

    当然是object!!!然后要使用什么类型的再进行转化
      

  9.   

    session.getAttribute("")返回的是string类型
      

  10.   

    session.getAttribute("")返回的是Object。long是基本类型,需要用Long来进行转换