从Servlet获取复选框值

Gip*_*psy 6 html java mysql servlets

我有一个带有MySQL数据库的servlet.它看起来像这样:在此输入图像描述

这是它的代码片段:

out.println("<table id = \"main_section\" cellspacing=\"1\" bgcolor=\"red\" > ");
out.println ("<tr> ");
out.println("<td >NUMBER</td>");
out.println("<td >PAYMENT</td>");
out.println("<td >RECEIVER</td>");
out.println("<td >VALUE </td>");
out.println("<td >CHECKBOX</td>");
out.println("</tr>");
out.println("<tr>");
for (int i = 0; i < ex.getExpenses().size(); i++) {
    out.println("<td > " + ex.getExpenses().get(i) + "</td>");

    if (i>0 && (i+1)%4==0) {
        out.println("<td><input type=\"checkbox\" name=\"checkbox\"></td>");
        out.println("</tr><tr>");

    }     
}
out.println("</tr>");
Run Code Online (Sandbox Code Playgroud)

我需要做的是创建一个提交按钮,用于计算复选框的VALUE总和.例如,如果选中了NUMBER 1和2,则提交按钮的结果应为5577.0(VALUE 22.0 + 5555.0).任何人都可以帮助我吗?

JB *_*zet 24

首先,您应该了解JSP并从JSP而不是从servlet生成HTML标记.

现在为你的问题.这些行中的每一行都来自数据库表.所以这些行中的每一行都应该有一个ID(主键).将行的ID分配给复选框的值.提交表单时,servlet将收到已选中复选框的所有ID.从数据库中获取这些ID对应的值,并将它们相加(或执行直接计算总和的查询):

<input type="checkbox" name="checkedRows" value="${idOfCurrentRow}">
Run Code Online (Sandbox Code Playgroud)

在处理表单提交的servlet中:

String[] checkedIds = request.getParameterValues("checkedRows");
Run Code Online (Sandbox Code Playgroud)


Bha*_*ani 1

你可以通过以下方式获取

String[] values = req.getParameterValues("checkbox");
Run Code Online (Sandbox Code Playgroud)