当前位置: 代码迷 >> J2SE >> !jsp页面迭代ArrayList有关问题
  详细解决方案

!jsp页面迭代ArrayList有关问题

热度:2118   发布时间:2013-02-25 00:00:00.0
求助!jsp页面迭代ArrayList问题!
主要问题概述:我的开发环境是struts1,现在我在我的action里面 把我需要在jsp页面遍历的集合request.getSession().setAttribute("list", al);了,然后我在jsp页面 ArrayList al=(ArrayList)request.getSession().getAttribute("list"); 奇怪的是,System.out.println(al);可以在控制台打印出我的表中的记录,但是System.out.println(al.size());就会抛出异常,在网上找了关于这个问题的资料,很多人都遇到了,但是没有明确的说明原因,今天我也遇到了,已经困扰我一天了,求大侠解救!

PS:我做了许多测试,当我声明一个int类型的ArrayList,结果就可以打印出来,没有任何问题:
Java code
ArrayList tt=new ArrayList();        tt.add("a");        tt.add("b");        tt.add("c");        System.out.println("测试:"+tt);        request.setAttribute("tt", tt);



下面是我的主要代码,我可以保证代码没有什么问题,只是jsp页面取不到request的值,很费解!
Java code
        SysUser user = (SysUser) request.getSession().getAttribute(Globals.USER_KEY);        String sfs=user.getSfs();        String orgno=user.getOrgno();        String username=user.getUsername();        String condition =null;        Connection conn = DBUtil.getConnection();                if (orgno.equals("21000002")&&(sfs.equals("") || (sfs==null)) ) {            //当前user是监狱            System.out.println("1");            condition ="where to_sifasuo='"+username+"'and sfs is not null";                    }else if (orgno.equals("21000003")&& (sfs.endsWith("司法所")||sfs.equals("农委"))) {            //当前user是司法所            condition ="where (to_jianyu='"+username+"'or to_jianyu is null )and sfs is null";        }                ArrayList al=new ArrayList();        Statement stmt=null;        ResultSet rs=null;        Tb_newTaskVo voo = null;        String sql = "SELECT RWBT , YWLX , LYDW , LRY , BLSJ , URL FROM Tb_NewTask"+" "+condition;        System.out.println(sql);        //System.out.println(condition);        try {            stmt=conn.createStatement();            //System.out.println("1");            rs=stmt.executeQuery(sql);            //System.out.println("2");            while(rs.next()){                 voo = new Tb_newTaskVo();                 voo.setrwbt(rs.getString(1));                 voo.setywlx(rs.getString(2));                 voo.setlydw(rs.getString(3));                 voo.setlry(rs.getString(4));                 voo.setblsj(rs.getDate(5));                 voo.seturl(rs.getString(6));                 al.add(voo);            }                    } catch (Exception e) {            conn.rollback();            e.printStackTrace(System.out);            Pub.writeXmlErrorMessage(response, this.handleError(e));        }        finally{            try {                rs.close();                stmt.close();                if (conn != null) {                    conn.close();                }            } catch (Exception e) {                // TODO Auto-generated catch block                e.printStackTrace(System.out);            }        }                request.getSession().setAttribute("list", al);        //request.setAttribute("list", al);                ArrayList tt=new ArrayList();        tt.add("a");        tt.add("b");        tt.add("c");        System.out.println("测试:"+tt);        request.setAttribute("tt", tt);                request.getRequestDispatcher("/jsp/framework/newblueTemplate/task.jsp").forward(request, response);        //System.out.flush();        //System.out.close();        //System.out.println(al);        System.out.println("sql条件语句:"+condition+"**********************");                return null;        


jsp页面的java代码:
Java code
  相关解决方案