1)出现场景:使用HttpServletRequest包下的request对象进行request.getAttribute()和request.setAttribute()进行赋值取值时的空指针异常。
2)原因:
错误示例代码:
由于在跳转之前的页面没有对provinceId进行赋值,然后又在这边控制层进行取值,但是request对象中根本不存在provinceId这个对象,所以将一个空的对象进行toString()肯定会出错
3)解决方法:但是我们又需要得到字符串形式的值,防止意外情况下出现空指针(也就是request对象中根本不存在provinceId这个对象),我们需要对request的对象进行是否为null的判断
if(request.getAttribute("provinceId")!=null){
//执行相应的操作 例如输出
String provinceId=request.getAttribute("provinceId").toString();
System.out.println(provinceId)
}
提醒:controller中四种常见取值方式取值进行操作时,一定要对接收的对象进行为null判断,不能直接将对象toString
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~