如何将JSP中选定的行发送到Java控制器?

如何将JSP中选定的行发送到Java控制器?,java,sql,jsp,servlets,Java,Sql,Jsp,Servlets,我有一个success.jsp页面,该页面显示多行和多列,每行有一个编辑按钮和一个复选框。如果用户单击编辑按钮,则选中复选框。 下面是success.jsp: <%@page import="mymvc.model.TableColumns"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.Iterator"%> <%@taglib prefix="c" uri="ht

我有一个
success.jsp
页面,该页面显示多行和多列,每行有一个编辑按钮和一个复选框。如果用户单击编辑按钮,则选中
复选框
。 下面是success.jsp:

<%@page import="mymvc.model.TableColumns"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.Iterator"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%-- 
    Document   : success
    Created on : Jul 8, 2014, 1:43:17 PM
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Login Success</title>
        <script type="text/javascript">
            function validate(n) {
                v = document.getElementById("check"+n)
                v.checked = !v.checked;
                x = document.getElementById("typeId"+n).removeAttribute('readonly');
                y = document.getElementById("paramSeq"+n).removeAttribute('readonly');
                z = document.getElementById("paramName"+n).removeAttribute('readonly');
            }

        </script>
    </head>
    <body>
        <form action="DBController" method="post">

        Welcome ${requestScope['user'].username}.


        <table>
            <tr style="background-color:#f0a64e;">
                <th class="border">ID</th>
                <th class="border">Param Sequence</th>
                <th class="border">Param Name</th>
            </tr>
            <c:forEach var="element" items="${requestScope['listData']}" varStatus="status">
                <tr>
                    <td><input  id="typeId${status.index}" value="${element.typeId}" readonly="true"</td>
                    <td><input  id="paramSeq${status.index}" value="${element.paramSeq}" readonly="true"</td>
                    <td><input  id="paramName${status.index}" value="${element.paramName}" readonly="true"</td>
                    <td>
                        <input id="edit${status.index}" type="button" value="Edit" name="edit" onclick="validate(${status.index})"</input>
                    </td>
                    <td><input type="checkbox" id="check${status.index}" name="selectedItems" value="<c:out value="${status.index}"/>"</td>
                </tr> 
            </c:forEach>
        </table>
        <input type="submit" value="Update" name="update" />
        </form>
    </body>
</html>

登录成功
函数验证(n){
v=document.getElementById(“检查”+n)
v、 选中=!v.checked;
x=document.getElementById(“typeId”+n).removeAttribute(“只读”);
y=document.getElementById(“paramSeq”+n).removeAttribute('readonly');
z=document.getElementById(“paramName”+n).removeAttribute('readonly');
}
欢迎${requestScope['user'].username}。
身份证件
参数序列
参数名称

我认为您缺少的是,您为每个输入类型提供了一个唯一的id,但是您没有指定输入类型的名称,并且在servlet中您试图按名称获取值

因此,请将名称与id一起添加,以便在servlet中获得它们

        <c:forEach var="element" items="${requestScope['listData']}" varStatus="status">
            <tr>
                <td><input  name="typeId${status.index}" value="${element.typeId}" readonly="true"</td>
                <td><input  name="paramSeq${status.index}" value="${element.paramSeq}" readonly="true"</td>
                <td><input  name="paramName${status.index}" value="${element.paramName}" readonly="true"</td>
                <td>
                    <input id="edit${status.index}" type="button" value="Edit" name="edit" onclick="validate(${status.index})"</input>
                </td>
                <td><input type="checkbox" id="check${status.index}" name="selectedItems" value="<c:out value="${status.index}"/>"</td>
            </tr> 
        </c:forEach>
    </table>

        <c:forEach var="element" items="${requestScope['listData']}" varStatus="status">
            <tr>
                <td><input  name="typeId${status.index}" value="${element.typeId}" readonly="true"</td>
                <td><input  name="paramSeq${status.index}" value="${element.paramSeq}" readonly="true"</td>
                <td><input  name="paramName${status.index}" value="${element.paramName}" readonly="true"</td>
                <td>
                    <input id="edit${status.index}" type="button" value="Edit" name="edit" onclick="validate(${status.index})"</input>
                </td>
                <td><input type="checkbox" id="check${status.index}" name="selectedItems" value="<c:out value="${status.index}"/>"</td>
            </tr> 
        </c:forEach>
    </table>