0

jsp を使用して単純なデータベースをレンダリングし、ボタンを使用して行を削除しようとしています。テーブルを反復処理するために使用していたため、行から主キーを取得できないという問題が発生しています。主キー(整数)を示す単純な数値を渡そうとしましたが、それを取得していません。

主キーが12の行を削除したいとしましょう。

                           <form action="deleteResponse.jsp">
                              <c:set var="numId" value="12"/>
                              <input type="submit" name="delete" value="Delete"/>
                           </form>

これにより、次のような値を取得する deleteResponse.jsp を開くボタンが生成されます。

<sql:update var="counselorDelete" dataSource="jdbc/IFPWAFCAD">
    DELETE FROM Counselor
    WHERE counselor_id = ?<sql:param value="${param.numId}"/>
</sql:update>

何もしていません。何が起こっているのかわかりません。SQLクエリに値12を手動で入力すると、行は削除されますが、値をフェッチしようとすると削除されません。

よろしくお願いします!

また、補足として。JSP を正しく記述する方法を理解するのに苦労しています。ほとんどの場合、人々は <% Java code %> を使用していますが、netbean のチュートリアルでは and 関数を使用しています。誰かが私にそれを説明できますか?また、グラスフィッシュをローカルホストのSQLサーバーとして使用しています。Netbean は glassfish xml を生成しますが、DriverManager.getConnection メソッドを使用している人もいます。常識的にどちらが優れていますか?

4

1 に答える 1

0

UI/JSP コードを DAO レイヤーから分離して、別の Bean を使用してすべての挿入/更新/削除操作を処理しようとします。

Applicationserver のログファイルを見てください。ヒントが得られるかもしれません。

Kr、R

編集:SQLについて:

<sql:update var="counselorDelete" dataSource="jdbc/IFPWAFCAD" 
      sql="DELETE FROM Counselor WHERE counselor_id = ?" >
      <sql:param value="${param.numId}"/>
</sql:update>
于 2012-09-12T00:34:03.270 に答える