我在页面显示所有的班级id,用EL表达式for循环表示出来,但是结果没有显示。代码如下:
<%
    String n = request.getSession().getAttribute("number").toString();
    int no = Integer.parseInt(n);                                          //string转换为int
    int  i = 0;
    for(i=0;i<no;i++)
    {
    %>
     &nbsp;&nbsp; ${banjiid[i]}<br>
<%
    }
     %>
如果把${banjiid[i]}中的i改成0或1都能显示出单个的数据并循环次数正确,可是用变量i却什么也没有显示。请高手指点一下!

解决方案 »

  1.   

    LZ EL不是这样用的!要想用El取值的话,这个值事先在request以上的域中存在,而且它也不能像数组那样用啊!
      

  2.   

    把班级Class的对象放到一个ArrayList<Class> classList中,然后共享到session区间,取的时候这样:
    foreach(Class class : Session.getAttribute(classList))
    {
       ${class.id};
    }
      

  3.   

    用jstl就是这样 
    <c:foreach var="class" item="${sessionScope.classList}">
       ${class.id};
    </c:foreach>
      

  4.   

    我的这个banjiid[]数组的长度是不知道的,先用变量no获取了数组的长度,然后在用for循环显示出来,其实我想用每个数组元素做个超连接来显示不同的页面的。如我问题中所说,如果${banjiid[i]}改为${banjiid[1]}或者${banjiid[0]}的话是能够显示出来的,并且循环的次数也是数组长度,可是换成${banjiid[i]}就不能显示了,${banjiid[i]}中的i是识别不出来的,这个i该怎么表示呢??