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 函数。有人可以向我解释一下吗?我还使用 glassfish 作为 localhost sql 服务器。Netbean 生成一个 glassfish xml,但我也看到人们使用 DriverManager.getConnection 方法。传统上哪一个更好?

4

1 回答 1

0

我会尝试将 UI/JSP 代码与 DAO 层分开,使用单独的 Bean 来处理所有插入/uodate/delete 操作。

看看你的应用服务器的日志文件,这可能会给你一些提示。

氪,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 回答