Servlet 获得checkbox中的值

时间:2021-12-03 08:45:36

Servlet 获得checkbox中的值

在做一个权限的时候:如下

Servlet 获得checkbox中的值

jsp代码:

<form id="form1" name="form1" method="post" action="powerconfig.do">
<p>&nbsp;</p>
<table width="608" height="332" border="1" align="center">
    <tr>
      <td height="97" colspan="2" align="center" bgcolor="#FFFFCC"><span class="STYLE4">权限设置</span></td>
    </tr>
    <tr>
      <td colspan="2"><label>
        <input type="checkbox" name="checkbox1" value="1"/>
      权限一
      <input type="checkbox" name="checkbox2" value="1" />
      权限二
      <input type="checkbox" name="checkbox3" value="1" />
      权限三
      <input type="checkbox" name="checkbox4" value="1" />
      权限四</label></td>
    </tr>
    <tr>
      <td colspan="2"><label>
        <input type="checkbox" name="checkbox5" value="1" />
      权限五</label>
        <label>
        <input type="checkbox" name="checkbox6" value="1" />
      权限六</label>
        <label>
        <input type="checkbox" name="checkbox7" value="1" />
      权限七</label>
        <label>
        <input type="checkbox" name="checkbox8" value="1" />
      权限八</label></td>
    </tr>
    <tr>
      <td colspan="2"><label>
        <input type="checkbox" name="checkbox9" value="1" />
      权限九</label>
        <label>
        <input type="checkbox" name="checkbox10" value="1" />
      权限十</label>
        <label>
        <input type="checkbox" name="checkbox11" value="1" />
      权限十一</label>
      <label>提交</label></td>
    </tr>
    <tr>
      <td width="205" align="center"><input type="submit" name="Submit" value="提交" /></td>
      <td width="387" align="center"><label>
        <input name="reset" type="submit" id="reset" value="重置" />
      </label></td>
    </tr>
</table>
</form>

//在powerconfigAction中代码:

String power="";
   String ini="0";  
   for (int i = 0; i < 11; i++) {
    ini=request.getParameter("checkbox"+(i+1)); //当没有选中时ini=null;
    if(ini==null){
     ini="0";        //没有选中也就是权限为空即为0;
    }
    power+=ini;
   }
   System.out.println(power);
   request.setAttribute("power", power);
   return mapping.findForward("show");

//当选权限一,权限三时power="10100000000";

---------------------------//网上搜一下太都是下面:用数组的

上面jsp中checkbox中的name属性统一为name="checkbox" value="1" 如下:

<input type="checkbox" name="checkbox" value="1"/>
      权限一
      <input type="checkbox" name="checkbox" value="1" />
      权限二
      <input type="checkbox" name="checkbox" value="1" />
      权限三

这种有Action中是用数组取值:如下:


   String[] power=request.getParameterValues("checkbox");
   String power_str="";
   for (int i = 0; i < power.length; i++) {
    power_str+=power[i];
   }
   System.out.println(power_str);
   request.setAttribute("power", power_str);
   return mapping.findForward("show");

////当选权限一,权限三时power="11"; //将没有0出现这种只是用于正常取值