lz需要在CreateSubjectListTag自定义标签中将ArrayList放到session中:
HttpSession session = pageContext.getSession();
String username = session.setAttribute("array",lst);然后在jsp页面中取出ArrayList:
<%
ArrayList arraylist = (ArrayList) session.getAttribute("array");for (int i = 0; i < lst.size(); i++) 
{
out.print("<option value=" + lst.get(i).getSubjectID() + ">"
+ lst.get(i).getSubjectName() + "</option>");
}   
%>

解决方案 »

  1.   

    这么写就好了  
    <%
               ArrayList lls = (ArrayList) session.getAttribute("array");
    for (int i = 0; i < lls.size(); i++) 
    {
    out.print("<option value=" + ((SubjectBean)lls.get(i)).getSubjectID() + ">"+ ((SubjectBean)lls.get(i)).getSubjectName() + "</option>");
    }         
                %> </select> 但我还是想知道为什么不能在JSP中直接引用lst呢,不是在WEB.XML声明了的脚本变量就可以在JSP中直接可以操作吗
      

  2.   

    我没在WEB.XML中声明过脚本变量,我只使用过session写入和读出的方法。
    或者lz自己再google一下
      

  3.   

    好象如果要使用脚本变量在CreateSubjectListTag类中要加入以下代码:
    javax.servlet.jsp.JspContext c = getJspContext();
    c.setAttribute("lst",lst);然后jsp页面:
    <%
               
                for(int i = 0;i < lst.size(); i++)
                {
                 out.print("<option value="+lst.get(i).getSubjectID()+">"+lst.get(i).getSubjectName()+"</option>");            
                }           
    %>