我正在尝试获取<td>
数据,该数据单击该按钮并将其提取到servlet。我试图添加一个隐藏的输入,该存储用于存储ResultSet中的数据,但是我只能获取数据的第一行。
如果还有其他更好的方法,请告诉我,谢谢。
<form action="Order_view" method="post">
<%
try {
//Connection Code
%>
<table border=1 align=center style="text-align: center">
<tbody>
<tr>
<th>Package ID</th>
<th>Type</th>
</tr>
<%while (rs.next()) {
%>
<tr>
<td><%out.print(rs.getString(1));%></td>
<td><%out.print(rs.getString(2));%></td>
<td><button name="btnView">View</button></td>
<input type="hidden" name="id" value="<%=rs.getString(1)%>" />
</tr>
<% } %>
</tbody>
</table>
<br>
<%} catch (SQLException e) {
out.print(e.getMessage());%><br><%
}
%>
</form>
答案 0 :(得分:1)
您不需要<form>
来做到这一点,是的,您将仅获得第一行,可以克服以下问题:
<%
try {
//Connection Code
%>
<table border=1 align=center style="text-align: center">
<tbody>
<tr>
<th>Package ID</th>
<th>Type</th>
<th>Action</th>
</tr>
<%while (rs.next()) {
%>
<tr>
<td><%out.print(rs.getString(1));%></td>
<td><%out.print(rs.getString(2));%></td>
<!--here we are passing "id" of that particular row in <a href>-->
<td><a href="Yourservleturl?id=<%=resultset.getString(1) %> "><input type="button" value="View"></a></td>
</tr>
<% } %>
</tbody>
</table>
<br>
<%} catch (SQLException e) {
out.print(e.getMessage());%><br><%
}
%>
然后在您的servlet
中使用request.getParameter("id");
方法中的doGet
进行进一步处理,以获取该ID。