如下代码:
这是从库中取到的值代码
    public ArrayList getNewsinfo(String pageid){
        ArrayList arrayNews=new ArrayList();
        ResultSet rs=null;
        String sql="select ......";
        db.setConn();
        db.getPstt(sql,pageid);
        rs=db.getRs();
        try {
            while (rs.next()) {
                ArrayList listNews=new ArrayList();
                listNews.add(rs.getString("titleid"));
                listNews.add(rs.getString("titlename"));
                               .
                               .
                               .
              }return arrayNews;
         }
我把getNewsinfo()方法放到JSP页面取值
for(int i=0;i<array.size();i++){
   ArrayList list=(ArrayList)array.get(i);
   往下怎么写我就不知道了,array.get(i)里是所有字段的数据,用什么方法能取出所有字段的前几条数据?
}
肯定是要先判断 array.get(i).size(),可判断完了,用什么方法取前几条数据呢
求解决方法   谢谢各位前辈了

解决方案 »

  1.   

    最好把数据库中对应表相应的定义一个类,那么表中的一条记录就对应着该类的一个实例,
    当从数据库中读取一条记录时,new 一个该类的实例并设置改实例的属性、最后将该实例放到ArrayList实例中
    在页面调用时就
    for(int i = 0;i<arrayList.size();i++)
    {
        类名 实例名 = (类名)arrayList.get(i);
       //接下去的就简单了吧
      ............
    ..............
    }
      

  2.   

    HashMap map=(HashMap)array.get(i);
    map.get(对应字段名)就可以取出你需要的数据了
      

  3.   

    这样不好,你应定义一个InfoBean,用getter/setter方法定义字段对应值如:
    public class InfoBean{
        private String titleid,titlename;
        public String getTitleid(){return titleid;}
        public void setTitleid(String titleid){this.titleid=titleid;}
        public String getTitlename(){return titlename;}
        public void setTitlename(String titlename){this.titlename=titlename;}
    }
    public ArrayList getNewsinfo(String pageid){
        ArrayList arrayNews=new ArrayList();
        ResultSet rs=null;
        String sql="select ......";
        db.setConn();
        db.getPstt(sql,pageid);
        rs=db.getRs();
        
        InfoBean bean=null;
        while (rs.next()) {
            bean=new InfoBean();
            bean.setTitleid(rs.getString("titleid"));
            bean.setTitlename(rs.getString("titlename"));
                                   .
                                   .
                                   .
            arrayNews.add(bean);
         }
         return arrayNews;
    }
      

  4.   

    这样返回的ArrayList中每一个元素就是一个InfoBean实例,就是一条记录用
    bean=(InfoBean)array.get(i);
    bean.getXXXXX()就是你要的记录值
      

  5.   

    操,我这几天怎么了 !!!  昨天Action里都不知道怎么就加了个“L”,今天又费半天尽写循环...  哎......
    其实直接 int i<20 就完了  靠的  
    <%
    for(int i=0;i<20;i++){
     ArrayList listOlyTit=(ArrayList)arrayOlyTit.get(i);%>
     <%=listOlyTit.get(5)%><%=listOlyTit.get(6) %>
     <a href="../../olympic/olympic.jsp" target="_blank">  
     <%=listOlyTit.get(1)%>  
     </a><%=listOlyTit.get(7)%>
    <%
    }
    %>
      

  6.   

    welshem(天堂客)、jmbkeyes168(凯思) 两位朋友的想法都挺好的,不过这个确实是我自己没转过来~~  谢谢大家的帮忙