现在 我有个表 人员和部门是一一对应的  现在页面上的部门按钮是个复选框  要根据选中的复选框来查处人员  ,既然是复选框,不是单选钮 ,那我可以选多个部门来查人员 。可是现在根据一个部门号我能查出人员 要是根据选中的多个部门 一下子把这几个部门的人都查出来 在另一个页面显示 该怎么做 ?
我的servlet是根据部门号来查人员。我想是这样做的 :在JS函数里定义一个数组,每选中一个复选按钮,该数组把按钮的值记录进去,这样可以得到一个数组。然后根据数组里的每一个值 进行查询。 如果能这样的话  我有几个问题:
1,数组有没有add的方法还是只能一个个赋值,这样的话 数组的大小该如何确定?是一开始给空 然后加一个算一个?
2,JS里定义的该数组能不能传递到我所写的Servlet中,就是使用request.getAttribute("XX")方法获得,如果能 该怎么传?
3,因为只有一个提交按钮,而我写的Servlet只能根据一个部门号来查人,但是这里是个数组,如果能在Servlet中通过request.getAttribute("XX")获得该数组,那应该怎样操作 才能在另一个页面 一下子都显示出这些部门的人员,是不是循环,取出数组中的值,然后每个查次得到不同的List,然后把这些LIST都传到JSP页面?如果不能这样做 那应该怎样从Servlet中传递数据到JSP页面?因为 刚接触JS 很多地方都不懂 希望大家能帮帮我 不胜感激 谢谢!!!

解决方案 »

  1.   

    主要思路:在servlet中用request.getParameter('控件ID');取得复选框对应的value,然后作为where条件 写sql语句 然后在页面显示
    select * from 表 where bumen id= "id1" or "" or"";
      

  2.   

    非常感谢  那Servlet 该怎么写  我先写个 你们看看对不对
    List dep_Ids = new List();
    String dep_Id = request.getParameter("dep_Id");
    while(dep_Id)
    dep_Ids.add(dep_Id);
    dep_Id = request.getParameter("dep_Id");
    }
    List persons = null;
    GetPersonsDao getPersonsDao = new GetPersonsDao();
    for(int i = 0 ;i<dep_Ids.size();i++){
    getPersonsDao.setDepId(dep_Ids.get(i));
    persons = getPersonsDao.List(); 
    request.setAttribute("list",persons);
    }那这里我还有几个问题 :复选钮的名字怎么起 都起一样吗?
    从这个Servlet转到的下一个页面该怎么获得 这些persons 也是用同样的循环来获取吗?
    dep_id是复选钮的名字 都起一样吗? 因为 复选钮也是动态生成的