直接运行的new String(str.getBytes("ISO8859-1"),"GBK")出错时说存在空指针怎么解决?
Strings=newString(req.getParameter("sex").getBytes("ISO-8859-1"),"gbk");...
String s=new String(req.getParameter("sex").getBytes("ISO-8859-1"),"gbk");
展开
1个回答
展开全部
req.getParameter("sex")这个地方没有获取到值,返回的值是null,所以再执行getBytes()方法的时候会报空指针。
看情况是你网页跳转的时候没有传递“sex"这个键的值。
你可以这样写
String sexText=req.getParameter("sex");
String s=null;
if(sexText!=null){
s=new String(sexText.getBytes("ISO-8859-1"),"gbk");
}else{
//没获取到sex值时候的处理,例如 s="0";
}
看情况是你网页跳转的时候没有传递“sex"这个键的值。
你可以这样写
String sexText=req.getParameter("sex");
String s=null;
if(sexText!=null){
s=new String(sexText.getBytes("ISO-8859-1"),"gbk");
}else{
//没获取到sex值时候的处理,例如 s="0";
}
追问
谢谢!我还有个问题,比如说我的“sex”的值是从网页1跳转时传递过来的,显示在网页2,那么如果我想再从网页2跳转到网页2,而“sex”的值依然是上次从网页一那得到的值,该怎么做?
追答
还是用setParameter啊。跳转之前调用一下setParameter不就可以了,没什么区别吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询