想做一个歌曲的分页显示 出现java.lang.NumberFormatException: For input string: "null"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
//按songname查找歌曲
public String getSbn(){
songlist=service.getSongByName(this.songname);
currentpage=1;
//总结果数
totalresults=songlist.size();
if(totalresults%pagesize!=0){
pagenumber=(totalresults/pagesize)+1;
}
else{pagenumber=totalresults/pagesize;
}
start=(currentpage-1)*pagesize;
end=(currentpage)*pagesize-1;
request.getSession().setAttribute("songlist",songlist);
request.getSession().setAttribute("currentpage",currentpage);
request.getSession().setAttribute("pagenumber",pagenumber);
return "searchresult";
}
//下一页
public String nextPage(){
songlist=(List<Song>) session.getAttribute("songlist");
totalresults=songlist.size();
//将object转化成int
//此处"currentpage"为空
currentpage= Integer.parseInt(String.valueOf(request.getSession().getAttribute("currentpage")));
currentpage++;
request.getSession().setAttribute("currentpage",currentpage);
if(totalresults%pagesize!=0){
pagenumber=(totalresults/pagesize)+1;
}
else{pagenumber=totalresults/pagesize;
}
start=(currentpage-1)*pagesize;
end=(currentpage)*pagesize-1;
return"addsongok";
}
jsp上调用nextpage()的部分
<% if((session.getAttribute("currentpage")!=null)&&(session.getAttribute("pagenumber")!=null)){
if(Integer.parseInt(String.valueOf(request.getSession().getAttribute("currentpage")))==Integer.parseInt(String.valueOf(request.getSession().getAttribute("pagenumber"))))
{ %><% } else { %>
<a href="SongManage_nextPage?">下一页</a>
<% }} %>
currentpage= Integer.parseInt(String.valueOf(request.getSession().getAttribute("currentpage")));这里取回的currentpage为空。请问是为什么?
既用 session.getAttribute("songlist");
又用 request.getSession().getAttribute("currentpage")
控制台输出一下session的id吧 可能不是同一个session了 自然就取不到值了
Integer.parseInt后面传的字符串为null,因此无法解析。
看看session中有没有currentpage
我是先点查询执行的getsbn然后再nextpage应该把currentpage存入session了啊。。 但是get出来还是null找了半天找不出来哪里错了。。求助啊
建议返回一个字符串(组成下一页,上一页)然后前台展示这个字符串,将参数传递给后台就可以了