ssm整合:修改删除书籍
和添加书籍类似,我们现在Controller编写跳转修改删除书记页面请求。
再具体编写跳转的页面。我们首先写修改:
Controller:
我们再在allBook.jsp内加上修改删除按钮按钮(我们在两个按钮之前加上下划线保证美观):
<td>
<a href="${pageContext.request.contextPath}/book/toUpdate?id=${book.bookID}">修改</a>
|
<a href="">删除</a>
</td>
我们在具体修改某本书籍时,需要知道它的全部信息,所以我们给加上?id=${book.bookID}确保能拿到这本书。再走请求/book/toUpdate跳转修改页面updateBook.jsp:
和addBook.jsp格式一样,简单修改即可,实现页面复用。注意到我们这里已经写好了真正修改书籍的请求/book/updateBook,所以我们在Controller里编写修改书籍请求:
此时整个流程已经完成,我们现在测试。测试之后发现,修改之后重定向到全部书籍页面,并没有我们修改之后的书籍。我们首先认为是事务的问题,接了下来我们配置事务:
在spring-service.xml中横切:
测试之后我们发现还是不行。接下来我们在后台打印看看SQL是否正常执行:
测试
我们看到bookID为0,我们根本不存在这个ID,所以是SQL执行出了问题。检查后发现是因为在修改页面update.jsp我们只有三种属性,没有bookID,所以我们加上隐藏域:
这个消息在前端是看不见的:我们再测试
此时发现成功。
我们也可以在mybatis-config.xml中配置日志,具体查看SQL的执行
现在我们写删除功能:
Controller先编写删除功能:
在allBook.jsp中加上删除按钮:
此时发现这时我们用的是restful风格,测试删除4
成功!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧