由于json是根据pojo类的get方法获取属性的,所以有时候会对一些状态码进行转换,比如说status=0/1,应该给用户展示为status=禁用/启用,但数据库里不需要这个字符串,因此使用了下面这个方法去转换:
public String getStatusStr() { if(this.status == 1){ return "启用"; } return "禁用"; }
然后在前端页面调用这个statusStr属性,结果报了空指针异常。
严重: Servlet.service() for servlet [com.itheima.web.selectAllServlet] in context with path [/brand-demo] threw exception java.lang.NullPointerException at com.itheima.pojo.Brand.getStatusStr(Brand.java:24)
最后的解决办法:
空指针解决思路就是缺啥找啥,查看了一下status,发现之前测试的时候填入了一个没写status的数据,应该就是这个数据导致的空指针
删除后,果然恢复正常。
总结:平时写代码的时候应该养成良好的习惯,考虑全面各种可能空指针的情况,比如说用户输入的内容input_value和password比较,应该是password.equal(input_value)而不是input_value.equal(password)。