这样会出错的,session.getValue("ryid");取得的可能是一个字符串数组型的,改成下面的就可以了:session.setAttribute("ryid","cryid");
然后取出的时候用:String cryid=""+session.getAttrribute("ryid");
这样就可以了,不过如果取出的是空值的时候cryid="null";而不是null.
然后取出的时候用:String cryid=""+session.getAttrribute("ryid");
这样就可以了,不过如果取出的是空值的时候cryid="null";而不是null.
出错一:
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的话,你上面的那种不对。
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);
编译就报错了。
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();
……
试试