这样会出错的,session.getValue("ryid");取得的可能是一个字符串数组型的,改成下面的就可以了:session.setAttribute("ryid","cryid");
然后取出的时候用:String cryid=""+session.getAttrribute("ryid");
这样就可以了,不过如果取出的是空值的时候cryid="null";而不是null.

解决方案 »

  1.   

    似乎不是这样吧。
    出错一:
    int cryid=3;
    session.putValue("ryid","cryid");你存进去的是“cryid”这个字符串而不是3
    出错二:
    int sryid;
    String cryid=(String)session.getValue("ryid");
    sryid=Integer.parseInt(cryid);
    out.println(sryid);
    session中取出来的是object类型的,你这样转来转去的有价值吗??
    我建议你如果这个数据不需要加密,直接在网页上传就是,不过要用form提交。用session的话,你上面的那种不对。
      

  2.   

    是这样的,我的cryid也是从其他的页面接受的,
    int cryid=new Integer(request.getprameter("ryid"));
    请问,要用session传一个int型该如何传呢,我上面的语句是模仿传String型的,我看书上取int型变量的时侯用了类似
    String cryid=(String)session.getValue("ryid");
    sryid=Integer.parseInt(cryid);
    的语句;但是没有说是如何寸的。
    而且我用
    session.putValue(ryid",cryid);
    编译就报错了。
      

  3.   

    session.setAttribute(《这里是session名》,《这是一个对相名》);
    int类型和Integer类不一样的!
    session中不能放int吧?是否要转成Ingeter类?
    建议session中都存放字串String类
    ……
    int cryid=3;
    String strCryid=String.valueOf(cryid);
    session.putValue("ryid",strCryid);//这里strCryid不要用引号!另一个页面调用:
    int sryid;
    String strCryid=(String)session.getValue("ryid");
    sryid=Integer.valueOf(strCryid).intValue();
    ……
    试试