0
我想設置一個菜單下拉的孩子。我爲菜單項創建了一個常規表,並且爲每個子項移動了一個set/array/list(每個嘗試),以使它更容易通過JSP呈現。但是,當我嘗試使用.add()將項添加到子項列表中時,我收到一個java.lang.NullPointerException,並且不再繼續。使用Hibernate的瞬態設置拋出空異常
我的系統是使用Spring/Hibernate設置的,除此之外,所有的東西都可以工作。
模型(不包括不相關的字段和getter/setter方法):
public class Menu {
@Transient
private Set<Menu> pageChildren;
@Column(name = "pageParent")
private Integer pageParent;
@Column(name = "pageId")
private Integer pageId;
...
而來自控制器的必要片段:需要初始化
List<Menu> menuItems = new ArrayList<Menu>();
menuItems = menuService.getAll();
for (Menu item: menuItems) {
if (item.getPageType() == 1 && item.getPageParent() > 0) {
menuItems.get(item.getPageParent() - 1).getPageChildren().add(item);
menuItems.remove(item);
}
}
'私人設置
我試過了:它在for(Menu item:menuItems)行上產生一個java.util.ConcurrentModificationException異常行 – Toby
ok試試列表