2

JSP で次のように while ループで行を生成するテーブルがあります (各行で隠しフィールドを使用して特定の ID を取得し、それをサーブレットに POST します)。

<tr>
    <td><center><%  out.print(rs1.getString("teamid"));%></center><input name="tid" type="hidden" value="<%out.print(rs1.getString("teamid"));%>"/></td>
    <td><center><%  out.print(rs1.getString("teamname"));%></center></td>
    <td><center><%  out.print(rs1.getString("teaminitials"));%></center></td>
    <td><center><%  out.print(rs1.getString("teamdesc"));%></center></td>  
    <td><center><input type="submit" class="greenbutton" name="delete" value="Delete"/></center></td>
</tr>

サーブレットでは、

String buttondelete = request.getParameter("delete");
    if(buttondelete!=null){
    String tid = request.getParameter("tid");

        try {
            clmmodel_database.updateQuery("delete from clm_team where teamid = '"+tid+"'");
            response.sendRedirect("clmview_teamlist.jsp");
        } catch (Exception e) {
        }

    }

しかし、これは、削除する必要がある行ではなく、常にテーブルの最初の行を削除します。どこで間違いを犯したのか、または方法を教えてください。

4

5 に答える 5

0

次のコードを使用して、List を表形式で表示します。

<tr>
    <td>
        <input type="submit" name="data" value=<%=rs.getString(5)%> />
    </td>
</tr>

ここで「rs.getString(5)」が ID です。id はフィールド名/5 はテーブル内の列インデックスです。

SERVLET/JSP ページ内

String id = request.getParameter("data"); //Store clicked 'submit' value.

Out.println(id);//Use the variable for your SQL.

それは私のために働いた。

于 2017-01-23T12:58:39.587 に答える