如何将数据从JSP中的表传递到Java控制器?

如何将数据从JSP中的表传递到Java控制器?,java,jsp,Java,Jsp,请帮我解决一个问题! 我已经用JSP创建了一个表,表中填充了数据库中的数据,问题是——我不知道如何从我的控制器访问JSP数据。 例如,我需要从JSP向我的控制器传递适当的ID(只是字符串),以执行Delete方法 我的jsp: <body> <form action="/editCategory" method="POST"> <h3>Existing categories</h3> <% List<Category> c

请帮我解决一个问题! 我已经用JSP创建了一个表,表中填充了数据库中的数据,问题是——我不知道如何从我的控制器访问JSP数据。 例如,我需要从JSP向我的控制器传递适当的ID(只是字符串),以执行Delete方法

我的jsp:

<body>
<form action="/editCategory" method="POST">
<h3>Existing categories</h3>
<%
    List<Category> categories = (List<Category>) request.getAttribute("model");
    if (categories != null) {
%>
<table border="1">
    <tr>
        <th width="24">ID</th>
        <th width="80">Name</th>
        <%--<th></th>--%>
    </tr>
    <%
        for (Category category : categories) {
    %>
    <tr>
        <td><%= category.getId() %> <% request.setAttribute("id", category.getId());%>
        </td>
        <td><%= category.getName() %>
        </td>
        <td>
            <input type="submit" name="delete" value="Delete"/>
        </td>
    </tr>
    <%
        }
    %>
</table>
<%
} else {
%>
<b>Categories list is empty :(</b>
<%
    }
%>

</form>
</body>
现在我只想看看正确的身份证是采取

请帮忙

您可以这样做:

<%
    for (Category category : categories) {
%>
<tr>
    <td><%= category.getId() %>
    <input type="hidden" name="allIds" value="<%= category.getId() %>" /></td>
    <td><%= category.getName() %>
    </td>
    <td>
        <input type="submit" name="delete" value="Delete"/>
    </td>
</tr>
<%
    }
%>

您需要使用html的
input
来发送表单参数以传递值…抱歉,但我的理解方式-输入会影响我的html在浏览器中的显示方式。但我想避免itd下面的答案是使用隐藏字段的正确方法谢谢。。我知道答案很简单——从未使用过html)。但也许你知道如何只拿一个身份证?表行中删除按钮的相应ID…?=)输入类型为checkbox。为每行添加一个复选框。name=deletedIds。如果选中该复选框,该值将传递给servlet。使用getParameterValues读取它,您将拥有必须删除的id。
<%
    for (Category category : categories) {
%>
<tr>
    <td><%= category.getId() %>
    <input type="hidden" name="allIds" value="<%= category.getId() %>" /></td>
    <td><%= category.getName() %>
    </td>
    <td>
        <input type="submit" name="delete" value="Delete"/>
    </td>
</tr>
<%
    }
%>
String[] lAllIds = request.getParameterValues("allIds");