gpt4 book ai didi

java - 如何将数据从 JSP 中的表传递到 Java Controller ?

转载 作者:行者123 更新时间:2023-11-29 08:52:14 26 4
gpt4 key购买 nike

请帮我解决一个问题!我在 JSP 中创建了表并填充了来 self 的数据库的数据,问题是 - 我不知道如何从我的 Controller 访问该 JSP 数据。例如 - 我需要将适当的 ID(只是字符串)从 JSP 传递到我的 Controller 以执行 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>

我的 Controller 方法:

public Model getModel(HttpServletRequest req, HttpServletResponse resp) throws DBException
{
if (req.getParameter("submit")!=null){
addCategory(req);
}

if (req.getParameter("delete")!=null){
deleteCategory(req);
}
categories = categoryDAO.getCategories();
return new Model("/editCategory.jsp", categories);

}

private void deleteCategory(HttpServletRequest req) {
System.out.println(req.getAttribute("id") + " printed");
}

现在我只想看看是否使用了正确的 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>
<%
}
%>

正如类型所说,hidden 是不可见的。之后读取您的 servlet 中的值:

String[] lAllIds = request.getParameterValues("allIds");

关于java - 如何将数据从 JSP 中的表传递到 Java Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22193426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com