JSP分页中报错 java.lang.NumberFormatException: For input string: "undefined"

从异常里面看了下,找到了这两段代码:
if (request.getParameter("curpage")!=null)
cur_page = new Integer(request.getParameter("curpage")).intValue();
out.print("cur_page"+cur_page);
if (request.getParameter("size")!=null)
pagesize = new Integer(request.getParameter("size")).intValue();
out.print("pagesize"+pagesize);
显示的是这两句有误:
cur_page = new Integer(request.getParameter("curpage")).intValue();
pagesize = new Integer(request.getParameter("size")).intValue();
很头疼始终不知道为什么这两段错了
这是对应的javascript 代码
<SCRIPT language=JavaScript>
function sizechange(size) {
document.frm.size.value = size.value;
document.frm.action = "";
document.frm.target = "";
document.frm.submit();
}

function gopage(page) {
var pagevalue;
if (typeof(page) == 'number')
pagevalue=page;
else
pagevalue=page.value;
document.frm.curpage.value = pagevalue;
document.frm.action = "";
document.frm.target = "";
document.frm.submit();
</SCRIPT>
请高手 大侠们指点啊!!

看你的异常 就知道是 字符转换数字出错了
指名 undefined 无法转换为int 类型
undefined 是一个特殊值,通常用于指示变量尚未赋值。对未定义值的引用返回特殊值 undefined
看情况应该是 你用ajax提交了吧 js 变量传到后面,未赋值或未定义 返回undefined 当然转换出错了
关键要看
curpage和size两个参数 传的时候有没有值了或未定义了
你还是检查看看 jsp页面表单里面这连个变量 有没有赋值
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-25
你的jsp页面第31行后面的把String类型的转换成int类型的时候出现了异常!
原因是theMax.substring(10)这个函数取子字符串时取出来的是空字符串即 ""所以在类型转换的时候出错!
解决方案:
将theMax打出到后台看其值是什么.即在28行与29行之间加上
System.out.println(theMax);
如果为空或者其长度是否大于等于11(我猜测肯定小于11或则根本就是空)
如果长度小于11或则为空再从theMax的值方面着手来排除你的错误!
第2个回答  2011-08-23
request.getParameter("curpage")
request.getParameter("size")
这两句代码得到的是 String 类型的 要 parseInt转换成整形

另外,好像有request.getParameterInt("");这种用法
第3个回答  2011-08-23
你先打印一下下面两个值看看结果是什么,能不能围成整形?
request.getParameter("curpage")
request.getParameter("size")
第4个回答  2011-08-24
request获取出来的是String类型的,要用Integer.parseInt转换成int

JSP分页中报错 java.lang.NumberFormatException: For input string...
看情况应该是 你用ajax提交了吧 js 变量传到后面,未赋值或未定义 返回undefined 当然转换出错了 关键要看 curpage和size两个参数 传的时候有没有值了或未定义了 你还是检查看看 jsp页面表单里面这连个变量 有没有赋值

java.lang.NumberFormatException: For input string:
可以这样:Double.parseDouble(n.equals("")?"0":n);注:n是你需要转换的字符串。因为:java.lang.NumberFormatException: For input string: " "这个异常是说,在将字符串转换为number的时候格式化错误。“”空的字符串有对应的数值吗,这里显然没有,所以就一个问题,如上即可。

java报错java.lang.NumberFormatException: For input string 求助
java.lang.NumberFormatException: For input string: " "这个异常是说,在将字符串转换为number的时候格式化错误 “”空的字符串有对应的数值吗,显然没有

java.lang.NumberFormatException:for input string是什么意思_百度知 ...
当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常 也就是说你的字符串有问题

...java.lang.NumberFormatException:For input string: "∞"_百 ...
意思就是你输入的数字格式不正确,不要输入特殊符号,无穷大是不识别的

java.lang.NumberFormatException: For input string: " "
你的jsp页面第31行后面的把String类型的转换成int类型的时候出现了异常!原因是theMax.substring(10)这个函数取子字符串时取出来的是空字符串即 ""所以在类型转换的时候出错!解决方案:将theMax打出到后台看其值是什么.即在28行与29行之间加上 System.out.println(theMax);如果为空或者其长度是否大于...

java.lang.NumberFormatException: For input string: "jsp-version...
java.lang.NumberFormatException: For input string: "" 这种情况一般都是强制格式转换时出现的错误

java.lang.NumberFormatException: For input string: "apProdName...
java.lang.NumberFormatException.forInputString即为字符串转换数字类型转换错误。检查下代码的65行,将不可转换为数字的字符串强行转换错误。

java.lang.NumberFormatException: For input string: ""怎么解决...
可以这样:Double.parseDouble(n.equals("")?"0":n);注:n是你需要转换的字符串。因为:java.lang.NumberFormatException: For input string: " "这个异常是说,在将字符串转换为number的时候格式化错误。“”空的字符串有对应的数值吗,这里显然没有,所以就一个问题,如上即可。

java.lang.NumberFormatException: For input string: ""
int a=Integer.parseInt(shuliang.trim());这一句里的变量shuliang接收的值是"",当你trim()之后还是的值还是"",Integer.parseInt(shuliang.trim());这个方法里面的字符串参数必须全部是数字才得行,楼主应该检查一下传值的问题,看看参数值的传递情况 ...

相似回答