fiter传递int值出现异常java.lang.Integer cannot be cast to java.lang.String
fiter代码if(request.getParameter("pn")==null){request.setAttribute("pn",0);}else{reques...
fiter代码 if(request.getParameter("pn")==null){
request.setAttribute("pn",0);
}
else{
request.setAttribute("pn",request.getParameter("pn"));
}
JSP代码if(request.getAttribute("pn")==null){
int pn=0;
}
else{
String pnn=(String)request.getAttribute("pn");
int pn=Integer.parseInt(pnn);
} 展开
request.setAttribute("pn",0);
}
else{
request.setAttribute("pn",request.getParameter("pn"));
}
JSP代码if(request.getAttribute("pn")==null){
int pn=0;
}
else{
String pnn=(String)request.getAttribute("pn");
int pn=Integer.parseInt(pnn);
} 展开
1个回答
展开全部
很显然,你的filter里面的request.getParameter("pn")是个int类型的,
else{
request.setAttribute("pn",request.getParameter("pn"));
}
在你的jsp里又这么写:
else{
String pnn=(String)request.getAttribute("pn"); //你觉着这样能行吗?你把这个int 给转换成string是不行的
int pn=Integer.parseInt(pnn);
}
else{
request.setAttribute("pn",request.getParameter("pn"));
}
在你的jsp里又这么写:
else{
String pnn=(String)request.getAttribute("pn"); //你觉着这样能行吗?你把这个int 给转换成string是不行的
int pn=Integer.parseInt(pnn);
}
更多追问追答
追问
request.getAttribute是Object类型,不能直接强制转换为int类型,所以我就先转为String类型再来转换为int类型的
追答
request.getAttribute("pn"); 如果你放进去的是int型的,那么这里在取数据的时候只是隐式地向上转成object类型的,你再转回来时只能用integer去接收,不能用string,注意理解上溯和下溯
直接写 (Integer)request.getAttribute("pn"); 这样就ok
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询