在数据库中把数据查询出来,赋给了Vector,如何在返回界面上?
Vector vc=new Vector();
 vt= ;   //数据库里查询出来的数据
for(int i=0;i<vt.size();i++){

    System.out.println("vt::::"+vt.get(1).toString());
}
控制台输出如下:vt::::{A3=, ISENABLE=, A2=, A1=, FLAG=, ID=3, USERNAME=zzz, REALNAME=自定义, PASSWORD=6636ed153dbaf4d0}
vt::::{A3=, ISENABLE=, A2=, A1=, FLAG=, ID=3, USERNAME=zzz, REALNAME=自定义, PASSWORD=6636ed153dbaf4d0}
vt::::{A3=, ISENABLE=, A2=, A1=, FLAG=, ID=3, USERNAME=zzz, REALNAME=自定义, PASSWORD=6636ed153dbaf4d0}
vt::::{A3=, ISENABLE=, A2=, A1=, FLAG=, ID=3, USERNAME=zzz, REALNAME=自定义, PASSWORD=6636ed153dbaf4d0}
vt::::{A3=, ISENABLE=, A2=, A1=, FLAG=, ID=3, USERNAME=zzz, REALNAME=自定义, PASSWORD=6636ed153dbaf4d0}如何把这些东西赋值给一个值类,然后在界面输出啊?因为就算有值类,也不确定查询出来的值类的顺序。
各位有什么建议?

解决方案 »

  1.   

    action 或者 servlet 用 request.setAttribute("vt",vt);jsp:  Vector vt = (Vector)request.getAttribute("vt");或者 在 jsp 页面直接调用 bean
      

  2.   

    最后用hibernate,查出来的是bean的list,就比较好处理
    手工sql查询,sql字段应该固定吧
    Vector vc=new Vector(); 
    vt= ;  //数据库里查询出来的数据 
    for(int i=0;i <vt.size();i++){ 
        Object[] row = vt.get(i);
        //下面的值可以通过row取得

      

  3.   

    vector 好像就是顺序的吧,与 list 相比,似乎它是同步的,而 list 是非同步的, 如果什么的话,建议你用 list, 另外,其实你可以用 list<Map> 形式来存放,在界的显示还是比较简单的,如果是 纯 jsp 的话, <%=v.get(i)%>
      

  4.   

    我的意思是说,查询出来的顺序,本来在数据库中存的是第一个字段是 id ,第二个是username ,然后现在可以看到,查询出来显示在控制台的是第6个才是id,第7个才是usernname。
    这样就没有顺序了。到赋值给一个值类的时候就没有办法确定查询出来的第几个值 赋给值类中的第几个值了。
      

  5.   

    如果你知道 字段名的话,可以直接通过字段名来获取rs.getString("ID");
      

  6.   

    你为什么不把重数据库中的值封装在javabean中在把javabean放在Vocter里面呢
      

  7.   

    --到赋值给一个值类的时候就没有办法确定查询出来的第几个值 赋给值类中的第几个值了我像LZ用到的是这个:
     String getString(int columnIndex) 
              以 Java 编程语言中 String 的形式检索此 ResultSet 对象的当前行中指定列的值。 
    用用这个:
    Object getObject(String columnName) 
              以 Java 编程语言中 Object 的形式获取此 ResultSet 对象的当前行中指定列的值。 
     String getString(String columnName) 
              以 Java 编程语言中 String 的形式检索此 ResultSet 对象的当前行中指定列的值。 
      

  8.   

    我再此申述下:首先,这个获取到得查询的数据返回的一个Vector,而且是被封装好的,其他人不允许动,值需要掉用这个方法,
     Vector vt= ff.querlist("select * from table");//ff.querlist();方法是被封装好的,只允许调用;
    返回的vt是个集合,现在问题就是想办法把这个集合里面的数据分开来,然后在界面上显示,大家也看到了。vt现在的
    形式就是这样的,
    {A3=, ISENABLE=, A2=, A1=, FLAG=, ID=3, USERNAME=zzz, REALNAME=自定义, PASSWORD=6636ed153dbaf4d0} 
    而其顺序还不是按照数据库中字段的顺序来排列的。
    现在要做的就是如何分开。
      

  9.   

    vt.get(1) 我想知道这个是什么类型的? 
    而其顺序还不是按照数据库中字段的顺序来排列的。 
    是由这个方法 ff.querlist("select * from table"); 决定的,如果不改这个方法,就没办法了
      

  10.   

    格式都知道了,就是 key=value,key=value,...
    那就把它当个字符串分割一下不就好了吗?
    还是说还有其它问题.
      

  11.   

    我同意楼上的答复。不过补充一点,先用", "分开单个值,再用"="分开key,value, 最好放入HashMap中便于查询。
    Vector vc; //从servlet传来
    List vList = new ArrayList();for (int i = 0; i < vc.size(); ++i) {
       String[] values = vc.get(i).toString().split(", ");
       HashMap map = new HashMap();
       for (int j = 0; j < values.length; ++j) {
           String[] kv = values[i].split("=");
           map.put(kv[0], kv[1]);
       }
       vList.add(map);
    }
      

  12.   

    [Quote=引用 3 楼 laorer 的回复:]
    vector 好像就是顺序的吧,与 list 相比,似乎它是同步的,而 list 是非同步的, 如果什么的话,建议你用 list, 另外,其实你可以用 list <Map> 形式来存放,在界的显示还是比较简单的,如果是 纯 jsp 的话, <%=v.get(i)%>
    用list吧,简单点好!
      

  13.   

    这个是一个不错的想法,但是,不要忘记了 "{"  这个符号, 输出的values[i] 就是这样的一个带符号的{a,这样处理起来就可麻烦了。