示例代码
MyClass obj = new MyClass() // 数据库表对应的类
ArrayList al = new ArrayList()
while(rs.next()){
obj.setXXX(rs.getString(1))
.... 
// 将对应的rs的值放入对象相应的域
al.add(obj) //将obj放入ArrayList
}使用的时候:
MyClass obj = (myClass)al.get(i);
即可

解决方案 »

  1.   

    to: icecloud(冰云)
    取数据时的i是不是数组al的索引值啊?
    可不可以直接用:
    al[i]  ?
      

  2.   

    还是不太明白,你的代码是在JSP中运用还是在javabean中运用???
      

  3.   

    2为数组
    bean里的代码:
     private String[][] sProList; public void setProList(String[][] prolist) {
        this.sProList = prolist;
      } public String getProList() {    StringBuffer StrDate = new StringBuffer();
        if (! (sProList == null)) {
          for (int i = 0; i < sProList.length; i++) {
            for (int j = 0; j < 2; j++) {
              if (sProList[i][j] == null) {
                sProList[i][j] = "";
              }
            }
            StrDate.append("<tr>");
            StrDate.append("<td align=left>");
            StrDate.append(
                "<a href=\"javascript:changeProject('" + sProList[i][0] + "');\" >");
            StrDate.append(sProList[i][0]);
            StrDate.append("</a></td>");
            StrDate.append("<td>");
            StrDate.append(
                "<a href=\"javascript:changeProject('" + sProList[i][0] + "');\" >");
            StrDate.append(sProList[i][1]);
            StrDate.append("</a></td>");
            StrDate.append("</tr>");
          }
        } else {
          StrDate.append("");
        }
        return StrDate.toString();
      }
    你可以在数据bean中这样把数组set进去
    int listCount = ……
       String[][]  sList = new String[listCount][2];
          int j = 0;
          while (rs.next()) {
            sList[j][0] = rs.getString(1);
            sList[j][1] = rs.getString(2);
            //set the list to the StoreBean
            projectStore.setProList(sList);
            j++;
          }
      

  4.   

    这是个1维德数组private String[] sDName;public void setDname(String[] dname) {
        this.sDName = dname;
      }public String getDname() {
        StringBuffer StrDate = new StringBuffer();
        for (int i = 0; i < sDName.length; i++) {
          if (this.sDeptName == null) {
            StrDate.append("<option value=\"" + sDName[i] + "\">" + sDName[i] +
                           "</option>");
          } else {
            if (this.sDeptName.equals(sDName[i])) {          StrDate.append("<option value=\"" + sDName[i] + "\" selected>" +
                             sDName[i] +
                             "</option>");
            } else {
              StrDate.append("<option value=\"" + sDName[i] + "\">" + sDName[i] +
                             "</option>");
            }
          }
        }
        return StrDate.toString();
      }  int   iCount = ……//数组上限
        String  sDName = new String[iCount];
          int m = 0;
          while (rs.next()) {
            sDName[m] = rs.getString(1);
            m++;
          }
          //set deptname
          projectStore.setDname(sDName);
      

  5.   

    多谢各位,多谢 kingssman(无名小卒) ,我正在看。我再去试试。
      

  6.   

    to: kingssman(无名小卒),  请讲一下,你那个一维数组的例子中:public String getDname(){}里面在做些什么?我在JSP中怎么引用数组中的数据,是 先getDname(),后直接用:sDName[i]?
      

  7.   

    我的写法
    bean中
    while(rs_listclass!=null && rs_listclass.next())
    {
        vector.add(rs_listclass.getString(1).trim());
        vector.add(rs_listclass.getString(1).trim());
    }页面中
    for(int i=0;i<vct.size();i+=2)
    {
        <%=vct.get(i)%>
        <%=vct.get(i+1)%>
    }
    注意页面重要import="java.util.*"
      

  8.   

    我的写法
    bean中
    while(rs_listclass!=null && rs_listclass.next())
    {
        vector.add(rs_listclass.getString(1).trim());
        vector.add(rs_listclass.getString(1).trim());
    }页面中
    for(int i=0;i<vct.size();i+=2)
    {
        <%=vct.get(i)%>
        <%=vct.get(i+1)%>
    }
    注意页面重要import="java.util.*"
      

  9.   

    public String getDname(){}
    我那个方法里面写的就是如何在jsp页面现实数组的内容阿,呵呵
    你直接用这个就可以了:
    public String getDname() {
    StringBuffer StrData = new StringBuffer();
     for (int i = 0; i < sDName.length; i++) {
      StrData.append("<option value=\"" + sDName[i] + "\">" + sDName[i] +"</option>");
      }
        return StrData.toString();
    }
    这个的结果是以下拉选单的形式在页面显示数组中的内容,我把他也写道bean里了,这样jsp
    页面只需要写
    <select name="dname"  >
      <%=singleProject.getDname()%>
    </select>
    就可以了。
      

  10.   

    其实用icecloud(冰云)的方法就行了,也就是用ArrayList:MyClass obj = new MyClass() // 数据库表对应的类
    ArrayList al = new ArrayList()
    while(rs.next()){
      obj.setXXX(rs.getString(1))
      .... 
      // 将对应的rs的值放入对象相应的域
      al.add(obj) //将obj放入ArrayList
    }使用的时候是这样用:
    MyClass obj = (myClass)al.get(i);
    而不是al[i].如果你一定要用数组,可以在上面那段后面加上:        MyClass[] objs = new CalcPlan [al.size()];
            al.toArray(objs);
    那你用的时候就可以这样用了。obj[i]
      

  11.   

    “我在JSP中怎么引用数组中的数据,是 先getDname(),后直接用:sDName[i]?”
    试这样的,这就要看你的get方法返回的是一个什么值,我的返回的是一个字符串,所以直接就可以显示,你也可以一个一个的取出数组里的值
      

  12.   

    使用的时候是这样用:
    MyClass obj = (myClass)al.get(i);
    而不是al[i].上面是不是在bean内使用?
    如果在JSP中调用,怎么调用呢?也是一样的吗?