我想在我的jsp上显示这样的内容

类别父母1
-----子类别1
-----子类别2
CategoryParent2
-----子类别1
-----子类别2

我可以用哪种方式解决呢? spring-mvc是否有一些库?还是我必须使用一些外部库?

我有一个类别模型

@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
@ManyToOne
private Category parentCategory;
@OneToMany(mappedBy = "parentCategory", cascade = CascadeType.ALL)
private List<Category> childCategories = new ArrayList<>();

public Category() {
}

public Category(String name){
    this.name = name;
}

public Category(String name, Category parentCategory) {
    this.name = name;
    this.parentCategory = parentCategory;
}

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public Category getParentCategory() {
    return parentCategory;
}

public void setParentCategory(Category parentCategory) {
    this.parentCategory = parentCategory;
}

public List<Category> getChildCategories() {
    return childCategories;
}

public void setChildCategories(List<Category> childCategories) {
    this.childCategories = childCategories;
}
}

最佳答案

我已经完成了类似的任务,但是使用了递归查询。 Here is the link

如果您不想使用递归查询。这是您需要做的。



渴望获取子类别(请参见休眠渴望获取|延迟加载)
删除“主查询”内部的“子查询”,并删除函数的递归语句
如果您已成功创建关系,则可以使用“ getchildrencategories”方法获取其子类别。
是否使用递归函数由您选择。


并且不要使用List最好使用Set:

@OneToMany(fetch = FetchType.EAGER, mappedBy="parentCategory", cascade=CascadeType.REMOVE, orphanRemoval=true )
private Set<Categories> childCategories = new HashSet<Categories>();

关于java - 如何在jsp上显示带有某些对象的嵌套树,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38087085/

10-09 13:07