本帖最后由 Kenny1985 于 2010-01-05 15:54:29 编辑

解决方案 »

  1.   

    你指的是通过${sectype['name'] }?这种方式也试过了,异常差不多。
      

  2.   


    <c:forEach var="toptype" items="${type}">
          <div>${toptype.name }</div>
              <c:forEach var="sectype" items="${toptype.subtypes}" varStatus="vs">    
                ${sectype.name }
              </c:forEach>
        </c:forEach>这样用
      

  3.   

    这种我也尝试过了,<c:forEach var="sectype" items="${second}" varStatus="vs">    循环的 次数是正确的(${second}获取的是一个集合,没错),错误可能在sectype被解析成了一个字符串,而非bean对象。请看一下异常。
      

  4.   

    javax.servlet.jsp.el.ELException: Unable to find a value for "name" in object of class "java.lang.String" using operator "." 
    这就是错误啊。
      

  5.   

    我的没有报错,应该是类有问题吧
    public class Sub {
    private String name;public String getName() {
    return name;
    }public void setName(String name) {
    this.name = name;
    }public Sub(String name) {
    super();
    this.name = name;
    }
    }============================
    public class Tot {
    private String name;
    private List<Sub> sub=new ArrayList<Sub>();
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }public Tot(String name) {
    super();
    this.name = name;
    }
    public List<Sub> getSub() {
    return sub;
    }
    public void setSub(List<Sub> sub) {
    this.sub = sub;
    }}=====================随便写个页面测试一下
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%    Tot t1=new Tot("t1");
          Sub s1=new Sub("s1");
          Sub s2=new Sub("s2");
          Sub s3=new Sub("s3");
          t1.getSub().add(s1);
          t1.getSub().add(s2);
          t1.getSub().add(s3);
          Tot t2=new Tot("t2");
          Sub s4=new Sub("s4");
          Sub s5=new Sub("s5");
          Sub s6=new Sub("s6");
          t2.getSub().add(s4);
          t2.getSub().add(s5);
          t2.getSub().add(s6);
          List l=new ArrayList();
          l.add(t1);
          l.add(t2);
          pageContext.setAttribute("type",l);
     %>
    <c:forEach var="toptype" items="${type}">
          <div>${toptype.name }</div>
              <c:set var="second" value="${toptype.sub}"></c:set>
              <c:forEach var="sectype" items="${second}" varStatus="vs">    
                ${sectype.name }
              </c:forEach>
        </c:forEach></body>
    </html>
      

  6.   

    给private List subtypes;
    加上泛型试试private List<Subtype> subtypes;