ssm整合:修改删除书籍

和添加书籍类似,我们现在Controller编写跳转修改删除书记页面请求。

再具体编写跳转的页面。我们首先写修改:

Controller:

 我们再在allBook.jsp内加上修改删除按钮按钮(我们在两个按钮之前加上下划线保证美观):

<td>
<a href="${pageContext.request.contextPath}/book/toUpdate?id=${book.bookID}">修改</a>
&nbsp; | &nbsp;
<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

 成功!!!

posted on 2022-05-18 11:05  键盘敲烂的朱  阅读(82)  评论(0编辑  收藏  举报