c:froeach 遍历两层list

如题 list下bean类中有个children属性、children 是个list。 如何在c:foreach标签上遍历。主要是拿不到children的值图片说明

求帮忙。各路大神没遇到么 - -。

哈哈,这种问题其实也没多复杂的。你仔细想想List里面再装一个List,如果我们把里面的List数据当成一行,那这种List的数据结构是不是一行一行的
东西呢,像不像二维数组啊。

    public class Run {

            public static void main(String[] args) {        
                Child c1 = new Child(1);
                Child c2 = new Child(2);
                Child c3= new Child(3);
                Child c4 = new Child(4);
                Child c5 = new Child(5);
                Child c6 = new Child(6);

                List<Child> inner1 = new ArrayList<Child>();
                inner1.add(c1);
                inner1.add(c2);

                List<Child> inner2= new ArrayList<Child>();
                inner1.add(c3);
                inner1.add(c4);

                List<Child> inner3 = new ArrayList<Child>();
                inner1.add(c5);
                inner1.add(c6);

                List<List<Child>> out = new ArrayList<List<Child>>();
                out.add(inner1);
                out.add(inner2);
                out.add(inner3);

                for(List<Child> inner:out) {
                    for(Child temp: inner){
                        System.out.println(temp);
                    }
                }

            }

        }

给个例子,自己去理解吧。

哈哈,这种问题其实也没多复杂的。你仔细想想List里面再装一个List,如果我们把里面的List数据当成一行,那这种List的数据结构是不是一行一行的
东西呢,像不像二维数组啊。

    public class Run {

            public static void main(String[] args) {        
                Child c1 = new Child(1);
                Child c2 = new Child(2);
                Child c3= new Child(3);
                Child c4 = new Child(4);
                Child c5 = new Child(5);
                Child c6 = new Child(6);

                List<Child> inner1 = new ArrayList<Child>();
                inner1.add(c1);
                inner1.add(c2);

                List<Child> inner2= new ArrayList<Child>();
                inner1.add(c3);
                inner1.add(c4);

                List<Child> inner3 = new ArrayList<Child>();
                inner1.add(c5);
                inner1.add(c6);

                List<List<Child>> out = new ArrayList<List<Child>>();
                out.add(inner1);
                out.add(inner2);
                out.add(inner3);

                for(List<Child> inner:out) {
                    for(Child temp: inner){
                        System.out.println(temp);
                    }
                }

            }

        }

给个例子,自己去理解吧。