gpt4 book ai didi

java - 如何将 JSP (HTML) 表的行传递给 servlet?

转载 作者:行者123 更新时间:2023-11-29 12:47:33 25 4
gpt4 key购买 nike

这是我的代码:

    <table border="2">
<tr>
<th>CourseID</th>
<th>SectionNo</th>
<th>Add Info</th>
</tr>
<% while(rs.next()){ %>

<tr>
<FORM NAME="actionForm" action="ProfCourseUpdate" method='post'>
<td> <%=rs.getString("CourseID") %> </td>
<td> <%=rs.getInt("SectionNo") %> </td>
<td> <input type="submit" name="ProfCourseUpdate" value="Update Course Info"></td>
</FORM>
</tr>

<% } %>
</table>

我正在从数据库中提取信息并将它们放入表中各自的列中。所以它看起来像:|类(class) --- 部分 ---(按钮)|

当我让用户单击提交按钮时,我希望能够传递整行的数据。我尝试过以这种方式隐藏输入:

<td> <%=rs.getString("CourseID") %> </td><td><input type="hidden" name="Course" value="<%rs.getString("CourseID") %>"></td>

它只会导致一些奇怪的表格格式并且不起作用。

最佳答案

您需要将要传递的所有信息放入 INPUT(文本、隐藏)或使用 URL 将其通知给 servlet。

首先,您可能需要考虑以下几件事:

  1. 在页面中仅使用一个 form 标记,而不是每一行使用一个标记。
  2. 将整个table包含在您的form标记内。

你最终会得到这样的结果:

<FORM NAME="actionForm" action="ProfCourseUpdate" method='post'>
<table border="2">
<tr>
<th>CourseID</th>
<th>SectionNo</th>
<th>Add Info</th>
</tr>
<% while(rs.next()){ %>
<tr>
<td> <%=rs.getString("CourseID") %> </td>
<td> <%=rs.getInt("SectionNo") %> </td>
<td> <input type="submit" name="ProfCourseUpdate" value="Update Course Info"></td>
</tr>
<% } %>
</table>
</FORM>

现在,一切都已解决,您可能想要使用不同的方法。如果您希望表格用于选择类(class)/部分的目的,您甚至不需要表格(或就此而言的提交按钮)。

你可以替换这个:

    <td><input type="submit" name="ProfCourseUpdate" value="Update Course Info"></td>

这样:

    <td><a href="/ProfCourseUpdate?CourseID=<%=rs.getString("CourseID") %>&SectionNo=<%=rs.getInt("SectionNo") %>">Update</a></td>

这样,您的 ProfCourseUpdate servlet 就可以接收检索和更新该行所需的两个变量(CourseIDSectionNo)。

如果您必须使用按钮,则可以使用相同的技术,但对值进行编码 CourseIDSectionNo。但我不推荐它。

关于java - 如何将 JSP (HTML) 表的行传递给 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234860/

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