我的a.jsp页面 里面有n个checkbox 可以多选的。。我要先选择多个,  <input type="checkbox" name="box"  value="ASP" /> 
  <input type="checkbox" name="box"  value="PHP" /> 
  <input type="checkbox" name="box"  value="JSP" />
  <input type="checkbox" name="box"  value="ASP" /> 
  <input type="checkbox" name="box"  value="PHP" /> 
  <input type="checkbox" name="box"  value="JSP" />我选中几个就获取到他们每一个不同的value。
我想将我获取到的这些value 用一个集合来装。
怎么用集合来装?
我在action里面又要怎么来接收这个集合呢?
 
 请各位大侠走过路过的帮忙看看。谢谢。

解决方案 »

  1.   

    request.getParameterValues('box')得到选中的checkbox的数组,也可以利用Action自身的特性获取
      

  2.   

    个人觉得自己定义集合的形式比较靠谱,没见过现成的,json倒是看似有个类似的概念
      

  3.   

    应该是在Action里声明一个String box[]这样的集合就可以了
      

  4.   

    request.getParameterValues('box') 正解
      

  5.   

    放个输入框 ,将选择的值以逗号隔开显示到输入框里 action后面用getElementById("input").value 获取选择的值
      

  6.   

    我jsp 页面就循环的这段。。
    <input type="checkbox" name="checkWord"  value="${printDto.cardno}"/>
    我在action定义了相同名字的集合。。可是取不到值。。
      

  7.   

    用js吧!前台提交服务器之前,判断所选择的checkbox,然后得到他们的值!然后把所有选择的值连接成字符串,传到服务器,后台解析字符串!
    不知道这样满足不满足你的需求!
      

  8.   

    你既然用到action的话就是说用Struts咯!Struts1我不知道!如果是Struts2的话!这个就很好解决了!
    首先你在你的action中定义一个map集合:

            /**
     * map对象用于显示页面checkboxlist
     */
    private Map mapMeetMent;
    public Map getMapMeetMent() {
    return mapMeetMent;
    }
    public void setMapMeetMent(Map mapMeetMent) {
    this.mapMeetMent = mapMeetMent;
    }把你所有的选项查询出来然后在后台的时候赋值给map集合:Map map = new HashMap();
    for(int i = 0; i < list.size();i++) {
    Object[] o = (Object[])list.get(i);
    map.put(o[0], o[1]);
    }
    this.setMapMeetMent(map);
    在页面中写一个Struts2标签:<s:checkboxlist list="mapMeetMent" listKey="key" listValue="value" 
         name="tbmeetroom.tbmeethaseqipments" value="#intarray"></s:checkboxlist>
    其中list是action中的map属性名称。listKey当然就是key了listValue就是value。
    name呢~~~是你javaBean中的属性名称。
    value呢就是选中的意思这个在编辑页面的时候、相当重要。在编辑时、把用户以前选择的选项勾上、就需要用到这个属性、那么你要用这个玩意呢就要在你的action中在添加一个属性、这个属性呢是一个int(Long)类型的数组(当然其它格式我就不知道了)。 /**
     * 选择checkboxlist的数组
     * 用来存储、当前查询会议设施编号
     */
    private Long[] intarray;
    public Long[] getIntarray() {
    return intarray;
    }
    public void setIntarray(Long[] intarray) {
    this.intarray = intarray;
    }在给这个数组赋值、把用户选择了的属性查询出来赋值给这个数组:this.intarray = new Long[listCheck.size()] ;
    for (int i = 0; i < listCheck.size(); i++) {
    Object [] o = (Object[])listCheck.get(i);
    this.intarray[i] = Long.valueOf(o[0]+"");
    }这样就行了~~~也不知道是不是LZ想要的效果!!!
      

  9.   


    我就 用普通的checkbox 不行么?我这里不知道怎么的用不了struts2的那个标签
      

  10.   

    其实普通的checkbox也可以。在struts2中,弄个model层接收。
      

  11.   

    Action里声明一个String box[]正解!
      

  12.   

    String[] box = request.request.getParameterValues('box')
      

  13.   

    'box' 是你页面中checkbox的name属性值
      

  14.   

    request.getParameterValues('box') 正解
    我想让一个下拉框里值做到最后一位或第一位,因为我用的是struts2的select标签,
    所以我先用Map area=new HashMap();
    area.put("雨花台", "雨花台");
    area.put("江宁区", "江宁区");
    area.put("六合区", "六合区");
    area.put("溧水县", "溧水县");
    area.put("高淳县", "高淳县");
    area.put("其它", "其它");页面调用是
      <s:select name="item.area" cssClass="text" list="area" theme="simple">
      </s:select>但是其它却不在最后一位,所有的顺序也不是按着map存入的顺序,因为map是无须的集合,我该怎么办?
      

  15.   

    给map排序,google一下map的排序
      

  16.   

    如果是一个对象呢?我觉得json可以解决类似的很多问题!