我正在尝试使用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。我看到大多数时候人们使用&lt;%Java code%&gt;但是在netbean教程中,它使用了和函数。有人可以向我解释一下吗?我也使用glassfish作为localhost sql server。 Netbean生成一个glassfish xml,但我也看到人们使用DriverManager.getConnection方法。哪一个传统上更好?
答案 0 :(得分:0)
我会尝试将UI / JSP代码与DAO层分开,使用单独的Bean来处理所有insert / uodate / delete操作。
看一下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>