我正在尝试设置带有下拉儿童的菜单。我为菜单项创建了一个常规表,以及一个集合/数组/列表(每个都尝试过),子项将被移动到其中以便更容易通过 JSP 呈现。但是,当我尝试使用 .add() 将项目添加到子列表中时,我收到一个 java.lang.NullPointerException 并且它没有进一步。
我的系统是使用 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);
}
}