如何解决循环发送多个复选框值到servlet
我有一个带有doget()的servlet类,该类使用for循环来填充各个用户的复选框。例如,它将为用户Rahul填充复选框read并根据某些条件执行该复选框,并将为Subh用户填充复选框的完全控制权,而其余复选框保持未选中状态。现在,网页上的用户取消选中或选中每个用户对其进行修改的框。现在,我应该如何将每个用户的更改复选框值传递给不同的功能。
for(int i=0;i<len;i++)
{
String[] parts = prop[i].split("\\\\");
arr[i] = parts[0];
pw.println("<tr><td>");
pw.println(parts[0]+"\\ "+parts[1]); //user's firstname\lastname
pw.println("</td><td>");
if(parts[2].contains("Full Control"))
{
pw.println("<label><input type='checkbox' value='FullControl' checked='checked'/>Full Control </label>"
+ "<label><input type='checkbox' value='Read' checked='checked'/>Read </label>"
+ "<label><input type='checkbox' value='Write' checked='checked'/>Write </label>"
+ "<label><input type='checkbox' value='Execute' checked='checked'/>Execute</label>");
}
else
{
pw.println("<label><input type='checkbox' value='FullControl'/>Full Control</label>");
if(parts[2].contains("Read")){
pw.println("<label><input type='checkbox' value='Read' checked='checked'/>Read</label>");
}
if(parts[2].contains("Execute")) {
pw.println("<label><input type='checkbox' value='Execute' checked='checked' />Execute</label>");
}
if(parts[2].contains("Write")) {
pw.println("<label><input type='checkbox' value='Write' checked='checked' />Write</label>");
}
}
我想在方法ModifyPermission(firstname,checkboxValue,allow \ deny)中传递此详细信息,以便为每个用户的每个权限修改它。像这样
obj.modifyACL(username,accessType,allow\deny);
解决方法
您需要创建一个围绕复选框的HTML“表单”。向每个复选框添加不同的name
属性。并添加一个按钮,用户可以按此按钮发送表单。
生成的HTML应该如下:
<form action="modifyAcl" method="post">
<label><input type='checkbox' name="fullControl" value='FullControl' checked='checked'/>Full Control</label>
...all your other checkboxes...
<input type="submit" value="Modify ACL" />
</form>
当用户按下按钮时,浏览器将POST请求中的表单元素值发送回服务器
然后, Servlet将以doPost
方法接收请求。在这种方法中,您将从请求参数中提取表单数据,然后调用您的ModifyACL方法。
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
boolean fullControlChecked = "FullControl".equals(request.getParameter("fullControl"));
// extract other information to set the obj,username,accessType,and allowDeny variables
obj.modifyACL(username,allowDeny);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。