类的调用
//根据用户登陆名获得用户菜单权限
  public Vector getMenus(String yhdlm){
      Dboperation Dboper = new Dboperation();
      Returndata  rData  = null;
try{
    Vector ArrMenu = new Vector();//定义保存菜单对象的链表
Menus menus = new Menus();          //定义菜单对象
sqlStr = "select b.xtcdbh,c.xtcdmc,c.xtcdjb,c.cdzstb,c.sjcdbh,c.xtwebljwj from yhjsdzb a,jscdqxdzb b,xtcdb c where a.jsbh=b.jsbh and b.xtcdbh=c.xtcdbh and a.yhdlm='"+yhdlm+"'";
//sqlStr = "select xtcdbh,xtcdmc,xtcdjb,cdzstb,sjcdbh,xtwebljwj from xtcdb";
System.err.println("getMenus: " + sqlStr);
int i = 0;
rData = Dboper.executeQuery(sqlStr);
    if (rData.iReturnCode==0)
{
   rs = Dboper.getData();
       while(rs.next())
   {
   menus.setCdbh(rs.getInt("xtcdbh"));
   menus.setCdmc(rs.getString("xtcdmc"));
   menus.setCdjb(rs.getInt("xtcdjb"));
   menus.setCdzstb(rs.getString("cdzstb"));
   menus.setSjcdbh(rs.getInt("sjcdbh"));
   menus.setWebljwj(rs.getString("xtwebljwj"));
   ArrMenu.add(i,menus);
   i++;
   }
   for (i=0;i<ArrMenu.size();i++)
   {
   menus = (Menus)ArrMenu.get(i);
 System.err.println("getMenus: " + menus.sCdmc);
   }    }
  else
    {
  System.err.println("getMenus: " + rData.strMsg);
      //Dboper.close();
  return null;
    }
      Dboper.close();
  return ArrMenu;
}catch(java.sql.SQLException e)
  {
  System.err.println("getMenus:" + e.getMessage());
  Dboper.close();
  return null;
  }
  }
jsp程序;
 Vector arrMenus = new Vector();
   arrMenus=XTDL.getMenus(sYhdlm);
  Menus menus = new Menus();
  out.println(arrMenus.size()+"<br>");
   for (int i=0;i<arrMenus.size();i++)
   {
       menus = (Menus)arrMenus.get(i);
//    out.println(menus.getCdmc()+"<br>");
   }

解决方案 »

  1.   

    首先:Vector arrMenus = XTDL.getMenus(sYhdlm);不要再用new了.
    其次:遍历vector要用Iterator对象
    PrintWriter out = response.getWriter();
    Iterator itr = arrMenus.iterator();
    Menus menus = null;
    while(itr.hasNext())
    {
      menus = (Menus)itr.next();
      out.println(menus.getCdmc()+"<br>");
    }
    这回你再试试