Jsp 为什么在将request.getAttribute转换为int后打印值会导致NullPointerException?
为什么第二行抛出NullPointerExceptionJsp 为什么在将request.getAttribute转换为int后打印值会导致NullPointerException?,jsp,Jsp,为什么第二行抛出NullPointerException int age = (Integer)request.getAttribute("age"); out.println(age); 此语句中唯一可以为空的是out。因此,如果您在这一行得到一个NullPointerException,这意味着out为null。您以后执行该属性时可能不存在该属性。问题可能是处理顺序,而不是代码! 尝试以下ServletRequest方法: getAttributeNames() 返回一个枚举,其中包含可用
int age = (Integer)request.getAttribute("age");
out.println(age);
此语句中唯一可以为空的是
out
。因此,如果您在这一行得到一个NullPointerException,这意味着out
为null。您以后执行该属性时可能不存在该属性。问题可能是处理顺序,而不是代码!
尝试以下ServletRequest方法:
getAttributeNames()
返回一个枚举,其中包含可用于此请求的属性的名称
它第一次检索属性值,如果不检索,则意味着执行顺序有问题。您没有名为“age”的request属性我怀疑,它是引发异常的第一行。实际上,第二行引发异常。我已经测试了我不认为out是空的。下面的代码运行良好。整数年龄=(整数)请求.getAttribute(“年龄”);out.println(年龄);那么引起异常的不是这一行。如果你发布堆栈跟踪,我们就可以知道而不是猜测。
out.println(age);