int值用session.setAttribute获取时候出现空值!!在线等!

来源:百度知道 编辑:UC知道 时间:2024/05/29 14:49:38
int zhouci=0; //声明一个变量存放星期数
zhouci=c.get(Calendar.WEEK_OF_YEAR)-33;//得到9月8号一天为一年的第37周 我们想让它表示第一周就可以减36了
session.setAttribute("zhouci",zhouci);
用String zhouci =(String)session.getAttribute("zhouci");获取时出现null值!
问题补充:没报错哦~
那是不同页的,第一页是定义了int zhouci=0; //声明一个变量存放星期数
zhouci=c.get(Calendar.WEEK_OF_YEAR)-33;//得到9月8号一天为一年的第37周 我们想让它表示第一周就可以减36了
session.setAttribute("zhouci",zhouci);
在第二页用String zhouci =(String)session.getAttribute("zhouci");获取的zhouci是null值!

如果是二页面或页面与java类之间,,你在第二页或java类中得到的是request这对象吧,,你在第一页中
request.getSession().setAttribute("zhouci",zhouci);
再到你用的地方用
request.getSession().getAttribute("zhouci");
就OK了,不相你试下。前提是
zhouci=c.get(Calendar.WEEK_OF_YEAR)-33;//得到9月8号一天为一年的第37周 我们想让它表示第一周就可以减36了
这部分没有错或没有得到结果为null..

出现这种情况说明你"zhouci"这个Attribute根本没set进去,或者set进去的就是一个空值!

你可以在session.setAttribute("zhouci",zhouci); 这句话以前,加上out.write(zhouci);打在第一页上看看是不是为空! 然后再做相应处理

int 基本数据类型 根本无法放入session中阿,只有对象类型才能放入
要将int 基本数据类型 转换成 Integer 对象格式 放入Session中
再者 int 类型根本没有为空的 时候 ,默认值会是0

session.setAttribute("zhouci",zhouci);

Integer zhouci = (Integer)session.getAttribute("zhouci");