最近在做一个分页,后台的action的代码基本完善了,现在需要把获取的页面参数setAttribute,在jsp里面getAttribute,
但是貌似又遇到麻烦了,我的jdk是1.4版本,公司的老项目,我在开发一个新功能,getAttribute和setAttribute无法传int类型,这个我倒是可以解决,转化成包装类或者string就可以了,set进去完全没问题,JSP页面也可以取到并打印出来,但是取到的值无法进行任何操作,就是说,我代码是转换成string,然后再转成int类型,现在只要一操作取到的这个值,立马报错,很费解,之前也遇到相同类似问题,但是纠结了一段时间自己就好了,奇怪,求解,不要建议我换jdk版本,因为这个是老项目,以前的东西不是我开发的,所以我求稳定为主!以下为代码,很简单就是不知道哪里错了!
action的代码
- Java code
//计算总页数 PageCount=(RowCount+PageSize-1)/PageSize; String PP=String.valueOf(PageCount); //System.out.println(PageCount); //调整待显示页码 if (Page>PageCount) { Page=PageCount; } //System.out.println("记录条数:"+RowCount); if (PageCount>0) { //将记录指针定位到待显示页的第一条记录上 rs.absolute((Page-1)*PageSize+1); } request.getSession().setAttribute("PageCount", PP );
jsp页面的代码:
- Java code
//取得待显示页码和总页数 String pagecount =(String)request.getSession().getAttribute("PageCount"); int ss;//如果这个加上注释可以运行,不会报错 ss =Integer.valueOf(pagecount).intValue();//如果这个加上注释可以运行,不会报错 System.out.println(pagecount);
------解决方案--------------------------------------------------------
什么叫
如果这个加上注释可以运行,不会报错
不会报错还问什么呀?还有用Integer.parseInt试试。。。
------解决方案--------------------------------------------------------
操作的时候报什么错呢,看代码没什么毛病
------解决方案--------------------------------------------------------
从你贴出来的代码看,没什么问题,能叫报错的信息帖出来吗?
不过你的代码不够完善,我帮你调整下:
request.getSession().setAttribute("PageCount", PP );
改为
request.getSession().setAttribute("PageCount", new Integer(PageCount) );
---------------------------
String pagecount =(String)request.getSession().getAttribute("PageCount");
int ss;//如果这个加上注释可以运行,不会报错
ss =Integer.valueOf(pagecount).intValue();//如果这个加上注释可以运行,不会报错
System.out.println(pagecount);
改为
Integer pagecount =(Integer)request.getSession().getAttribute("PageCount");
int ss;//如果这个加上注释可以运行,不会报错
if (pagecount != null) {
ss = pagecount.intValue();//如果这个加上注释可以运行,不会报错
}
System.out.println(ss);
------解决方案--------------------------------------------------------
pagecount为空的时候不能转成int,只能用Integer