Получить конкретные данные из ResultSet с помощью rs.next () - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь получить данные <td>, которые нажимают кнопку и загружают их в сервлет.Я попытался добавить скрытый вход, который использовался для хранения данных из 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>

1 Ответ

1 голос
/ 11 мая 2019

Вам не нужно <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 методе для дальнейшей обработки.

...