由於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)。