Java 从jsp中的datatable获取选中复选框的值

Java 从jsp中的datatable获取选中复选框的值,java,jquery,jsp,servlets,datatable,Java,Jquery,Jsp,Servlets,Datatable,我正在使用JavaEE 这是我的JSP: <form method="POST" enctype="multipart/form-data"action="<c:url value="submitSelected"/>"> <div class="box-body"> <table id="example" class="table table-bordered table-striped"> <thead>

我正在使用JavaEE

这是我的JSP:

<form  method="POST" enctype="multipart/form-data"action="<c:url value="submitSelected"/>">
<div class="box-body">
    <table id="example" class="table table-bordered table-striped">
        <thead>
            <tr>
                <th>id</th>
                <th>name</th>
                <th><input type="checkbox" id="checkall" /></th>
            </tr>
        </thead>
        <tbody>
            <c:forEach var="category" items="${categoryList}">
                <tr>
                    <td><c:out value="${category.id}"/></td>
                    <td><c:out value="${category.name}"/></td>
                    <td><input type="checkbox" name="selectedCategory" value="${category.id}" /></td>
                </tr>                           
            </c:forEach>
        </table>
    </div>
    <div class="box-footer" id="hidden-div">
        <button type="submit" id="select" >submit</button>
    </div></form>

我正在JSP中使用datatable。我的问题是,如果我的JSP显示超过1个页面,并且我从这些页面中选择了一些行,那么我的servlet只能从显示的页面中获取值。如何从servlet中获取所有选定的值?如果我使用checkall复选框,如何从servlet获取所有值?

JSP是一种非常简单的技术。在JSP中完成的任何服务器端分页通常由程序员管理。JSP不会帮助您进行分页

通常程序员会进行精心编排,以使分页工作正常(如传递参数,如
currentPage
totalPages
rowsPerPage
等,然后过滤页面上显示的几行。它们还提供页码的超链接以及上一页和下一页链接的更多超链接)

从您共享的代码片段中,似乎显示了
categoryList
中的所有行。如果
categoryList
有1000行,则所有1000行将显示在同一页面中

要使分页工作,应该有一些servlet或struts
Action
来管理
categoryList
。只有少数与当前页码相关的行应该加载到该数组列表中

考虑到所有这些,您可以理解,即使是像“全部检查”这样的东西也必须由开发人员使用相当多的编码来管理。


每当用户单击导航离开某个页面时,您可能必须将与所选复选框对应的类别ID附加到下一页的URL,然后在服务器上维护所选类别ID的数组列表。如果用户执行新搜索等操作,您还必须清除此列表。

因此您使用的是Pag是否在JSP中使用数据表?
<script type="text/javascript">
$(document).ready(function () {
    $("#example").dataTable({
        "scrollX": true
    });
    $("#example #checkall").click(function () {
        if ($("#example #checkall").is(':checked')) {
            $("#example input[type=checkbox]").each(function () {
                $(this).prop("checked", true);
            });

        } else {
            $("#example input[type=checkbox]").each(function () {
                $(this).prop("checked", false);
            });
        }
    });
});</script>
String checkboxValues[] = request.getParameterValues("selectedCategory");