Jdbc 在JSF中得到一个我无法解释或找到的NullPointerException
我试图在JSF中创建一个购物车,然后创建一个显示数据库中存储的所有订单的按钮。我已经完成了所有的编码,但是当我尝试将一本书添加到ShoppingCart类时,我得到了一个空指针异常,我一辈子都不知道为什么。如果您有任何帮助,我们将不胜感激 调用c.addBook(b)时出错Jdbc 在JSF中得到一个我无法解释或找到的NullPointerException,jdbc,nullpointerexception,jsf-2.2,Jdbc,Nullpointerexception,Jsf 2.2,我试图在JSF中创建一个购物车,然后创建一个显示数据库中存储的所有订单的按钮。我已经完成了所有的编码,但是当我尝试将一本书添加到ShoppingCart类时,我得到了一个空指针异常,我一辈子都不知道为什么。如果您有任何帮助,我们将不胜感激 调用c.addBook(b)时出错 结果我需要补充一下 if(books == null) { books = new ArrayList<>(); } if(books==null) { books=新数组列表(
结果我需要补充一下
if(books == null)
{
books = new ArrayList<>();
}
if(books==null)
{
books=新数组列表();
}
在addBook方法之前。我不知道为什么,因为我早些时候实例化了,但我不会讨厌它。去掉了我的空指针你说“因为我早些时候实例化了”,具体在哪里?我在bean顶部的init方法中实例化了。你用
@PostConstruct
注释标记了它吗?是的,我添加了注释。这就是为什么我对它为什么为空感到困惑。
public void addBook(Book book) {
boolean inList = false;
System.out.print(book.getAuthor());
System.out.print(book.getTitle());
System.out.print(book.getPrice());
System.out.print("pre for loop");
for (Book temp : books) {
System.out.print("made a book");
if (book.title.equals(temp.title)) {
inList = true;
switch (temp.title) {
case "Intro to Java Serverlets":
serverlet++;
break;
case "Intro to JSP":
jsp++;
break;
case "Intro to JSF":
jsf++;
break;
default:
ee++;
break;
}
}
}
if (!(inList)) {
if (book.title.equals("Intro to Java Serverlets")) {
serverlet++;
} else if (book.title.equals("Intro to JSP")) {
jsp++;
} else if (book.title.equals("Intro to JSF")) {
jsf++;
} else {
ee++;
}
System.out.print("pre add a book");
books.add(book);
}
}
if(books == null)
{
books = new ArrayList<>();
}