request.getAttribute 传值取值问题!

大神们都很忙呀 2012-09-06 03:27:11
最近在做一个分页,后台的action的代码基本完善了,现在需要把获取的页面参数setAttribute,在jsp里面getAttribute,
但是貌似又遇到麻烦了,我的jdk是1.4版本,公司的老项目,我在开发一个新功能,getAttribute和setAttribute无法传int类型,这个我倒是可以解决,转化成包装类或者string就可以了,set进去完全没问题,JSP页面也可以取到并打印出来,但是取到的值无法进行任何操作,就是说,我代码是转换成string,然后再转成int类型,现在只要一操作取到的这个值,立马报错,很费解,之前也遇到相同类似问题,但是纠结了一段时间自己就好了,奇怪,求解,不要建议我换jdk版本,因为这个是老项目,以前的东西不是我开发的,所以我求稳定为主!以下为代码,很简单就是不知道哪里错了!

action的代码

//计算总页数
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页面的代码:

//取得待显示页码和总页数

String pagecount =(String)request.getSession().getAttribute("PageCount");
int ss;//如果这个加上注释可以运行,不会报错
ss =Integer.valueOf(pagecount).intValue();//如果这个加上注释可以运行,不会报错
System.out.println(pagecount);


...全文
560 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

pagecount为空的时候不能转成int,只能用Integer
[/Quote]

pagecount不可能为空,问题都是稀奇古怪的解决了,郁闷,三分结贴了,该下班了。。
  • 打赏
  • 举报
回复
很无奈,解决了。。。


//取得待显示页码和总页数
Integer pagecount =(Integer)request.getSession().getAttribute("PageCount");
int ss=0;
if (pagecount != null) {
ss = pagecount.intValue();
System.out.println("321");
}
System.out.println(ss);



太考验我的智商了,这个问题一度把我逼疯了,居然是这样~~
为啥呢 2012-09-06
  • 打赏
  • 举报
回复
pagecount为空的时候不能转成int,只能用Integer
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 4 楼 的回复:

从你贴出来的代码看,没什么问题,能叫报错的信息帖出来吗?
不过你的代码不够完善,我帮你调整下:
request.getSession().setAttribute("PageCount", PP );
改为
request.getSession().setAttribute("PageCount", new Integer(PageCount) );

……
[/Quote]




Integer pagecount =(Integer)request.getSession().getAttribute("PageCount");
int ss;
if (pagecount == null) {
//ss = pagecount.intValue();
System.out.println("321");
}
System.out.println("123");



结果是:123
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

从你贴出来的代码看,没什么问题,能叫报错的信息帖出来吗?
不过你的代码不够完善,我帮你调整下:
request.getSession().setAttribute("PageCount", PP );
改为
request.getSession().setAttribute("PageCount", new Integer(PageCount) );

---------------……
[/Quote]


试了,还是一样,把这段注释掉就可以编译通过,不注释还是报错,为什么数据无法操作呢
int ss;
if (pagecount != null) {
ss = pagecount.intValue();
}
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

操作的时候报什么错呢,看代码没什么毛病
[/Quote]


Compile failed; see the compiler error output for details.
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:317)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)


编译错误,之前有遇到过类似的问题,是我上一篇帖子,但是自己就好了,上一篇帖子的al数组开始也是类似情况,数据可以取到,但是无法操作,就连取得length都跑异常,太坑爹了

http://topic.csdn.net/u/20120802/15/d4653b9b-764c-4b0d-9500-3c5ecea8d3bd.html?seed=2017348577&r=79449306#r_79449306
zxhcloth 2012-09-06
  • 打赏
  • 举报
回复
从你贴出来的代码看,没什么问题,能叫报错的信息帖出来吗?
不过你的代码不够完善,我帮你调整下:
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);
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

什么叫
如果这个加上注释可以运行,不会报错

不会报错还问什么呀?还有用Integer.parseInt试试。。。
[/Quote]

是这个意思


//int ss;如果这个加上注释可以运行,不会报错
// ss =Integer.valueOf(pagecount).intValue();如果这个加上注释可以运行,不会报错

貌似一操作这个数据pagecount就抛异常,Integer.parseInt我最开始用的,效果一样,这个问题好蛋疼啊!
cscript 2012-09-06
  • 打赏
  • 举报
回复
操作的时候报什么错呢,看代码没什么毛病
菖蒲老先生 2012-09-06
  • 打赏
  • 举报
回复
什么叫
如果这个加上注释可以运行,不会报错

不会报错还问什么呀?还有用Integer.parseInt试试。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧