如何在JSP中获取复选框

如何在JSP中获取复选框,jsp,checkbox,jstl,Jsp,Checkbox,Jstl,如何使用jstl获取/设置复选框值并仅从选中复选框的数据库中删除这些记录?对于这种情况,您还可以建议如何在jstl中使用三元运算符吗 SearchStudent.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <%@

如何使用jstl获取/设置复选框值并仅从选中复选框的数据库中删除这些记录?对于这种情况,您还可以建议如何在jstl中使用三元运算符吗

SearchStudent.jsp

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Lookup Students</title>
    </head>

    <form method="post" action="deleteStudentServlet" class="form">     
        <body class="body">

        <!-- List results -->

        <c:if test="${not empty studentList}">
            <table border="1" cellspacing="0" cellpadding="0" :>
                <tr>
                    <th></th>
                    <th>ID</th>
                    <th>Title</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th></th>
                </tr>
                <c:forEach var="students" items="${studentList}">
                    <tr>
                        <td><input type="checkbox" name="chkBox"> </td>
                        <td>${students.studentID}</td>
                        <td>${students.title}</td>
                        <td>${students.firstName}</td>
                        <td>${students.lastName}</td>
                        <td><c:url value="UDS" var="url">
                                <c:param name="StudentID" value="${students.studentID}" />
                            </c:url> <a href="${url}">Edit</a></td>
                    </tr>
                </c:forEach>
            </table>
        </c:if>

        <td><input type="submit" name="submit" value="Delete" ></td>
    </form>

        <p>There are ${fn:length(studentList)} results.</p>
    </body>
    </html>

查找学生
身份证件
标题
名字
姓
${students.studentID}
${students.title}
${students.firstName}
${students.lastName}
有${fn:length(studentList)}个结果


谢谢。

您的复选框当前根本没有与参数名称关联的值:

<input type="checkbox" name="chkBox">
最后,只需将其传递给执行业务工作的DAO/服务类:

studentService.delete(selectedStudentIds);
另见:
    • 这可能会对您有所帮助

      在ajax调用中:

      var boolValue= $(this).closest(".tr").find('.checkboxClass').is(':checked');
      
      $.post("/api/dosomething", {                                     
          someSettings : boolValue
      })
      

      我的另一个问题是,它如何知道使用字符串[]selectedStudentIds=request.getParameterValues(“selected”)只获取“选中”值;如果我想选择“未选中”的值呢?您熟悉基本的HTTP和HTML吗?所有HTML输入字段都将其值作为HTTP请求参数发送。如果您想获得未检查的值,只需从所有可用值(学生列表)中减去已检查的值(所选学生ID)。是的,我是新来的,从像您这样的专家那里学习。关于你的答案,这是否意味着当复选框未选中时,复选框中的值为空?请提供一个减法的示例?
      studentService.delete(selectedStudentIds);
      
      var boolValue= $(this).closest(".tr").find('.checkboxClass').is(':checked');
      
      $.post("/api/dosomething", {                                     
          someSettings : boolValue
      })