public List getObjects(){
     List v=new ArrayList();
Statement stmt = null;
ResultSet rs = null;
        String sql = "select * from VIEW_RPT_CORP_D 
                  DataConn conn = new DataConn();
try {
stmt = conn.getConn().createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
    v.add(rs.getString("本期数"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return v;
}
这是代码,现在只是获取一个字段“本期数”,然后添加到list中在在页面中
通过v.get();来获取,该字段,即该列中的指定行的内容。
但是如果在加个字段如"上月数"那么我在我也可以通过  v.add(rs.getString("上月数"));来添加。但是这个就不能用v.get()来获取了,我现在用的方法是又建个跟上面一样的,list变量v1,前台也就用v1.get()来获取。可一旦字段增多那就太麻烦了。所以请高手指教下。

解决方案 »

  1.   

    用两个list,一个list是保存一行里面的字段,另外一个list保存记录数.
    List column= new ArrayList();
    List record= new ArrayList();
    column.add(rs.getString("本期数")); 
    column.add(rs.getString("上月数"));
    record.add(column);
    然后就可以按顺序取了
      

  2.   

    你可以写个javabean,包含“本期数”、“上月数”等属性
    while (rs.next()) { 
        String a = rs.getString("本期数"); 
        String b = rs.getString("上月数");  
        Javabean javabean = new Javabean();
        javabean.setA(a);javabean.setB(b);
        v.add(javabean); 
    } jsp页面遍历得到你想要的javabean,然后提取“本期数”、“上月数”等属性
      

  3.   

    你这样做本身就不太好,想这样的一般都是使用Object[]对象数组,或则是Map来封装。看了一下你的代码,有个折中的方法:
    //你的字段很多
      Map<String,List> map = new HashMap<String,List>();
      map.put("本期数",new ArrayList());
      map.put("上期数",new ArrayList());
    //。。while (rs.next()) { 
        map.get("本期数").add(rs.getString("本期数")); 
    //。。
      

  4.   

    你可以将你要获取的字段建立一个javabean,然后把字段都放在里面,到view层直接对这个javabean操作
    例如:
    while(rs.next()){
      Object bean=new Object();
      bean里面的set方法,保存要查询的字段
      list.add(bean);
    }
    request.getAtrribute("beanList",list);到视图层你直接取出beanList然后将其遍历,转换成bean对象,就可以操作了
      

  5.   

    既然你是通过一张表查询出来的,你为什么不把查询的结果封装到一个对象里面 然后再将这个对象放到list里面呢while (rs.next()) { 
        Bean bean = new Bean();
        bean.setCount(rs.getString("本期数"));
        bean.setRCount("上月数");    v.add(bean); 

      

  6.   

    开发中一般一张表对应一个javaBean
    设置一个VO  
    public class cardVO{
    //字段对应属性
    private string qishu;
    //其他
    private String other;
    //List
    private String pulbicList;
    //扩展
    private Object Object;
    }list.add(Object)//循环
    JDK1.5以上
    for(Object object:list){
    object.get();
    }

    Object o = (Object)List.get(i)
      

  7.   

    如果要是这个list在页面上用可以2楼的办法解决。
    如果这个list不是在页面上用,可以用泛型解决。
      

  8.   

    可我该 怎么获取呢是在jsp页面获取
      

  9.   

    综合2楼和4楼的写法,在页面上用遍历输出这个list就行了
      

  10.   

    2楼说的很对,你定义一个javaBean,里边定义两个字段代表你的本期数,上月数.查询出一条值后,将这两列对应的值放入一个javaBean对象里,然后再将此javaBean放如list里.取出时,先取得对象,然后用get方法,得到里边的值就可以了.