SpringMVC模式编写CRUD操作

首先是所有工程目录的展示。

1.展示所有图书(GET请求)

index.jsp用于导航

点击Display all books后,请求将被之前配置好的DispatcherServlet拦截,拦截后的请求根据Controller类中的@RequestMapping注解运行相对的方法

display()方法的参数是一个Model类型,model用于装载集合list,并且转发到下一个页面,BookList.jsp。

BookList.jsp使用JSTL表达式来进行数据的表示,不过在使用JSTL表达式之前,要在文件的开头加上

否则会报错。

这是最终的显示页面。

2.添加新的图书(POST请求)

首先在显示页面的列表下面加入一个超链接如上图所示(Add a new book)。点击此超链接,请求同样会被DispatcherServlet拦截。随之根据Controller类中的@RequestMapping注解的value属性,运行相应的方法

此时触发addBook()方法,model属性用于装载Books实例bean(也就是book),然后转发到InputBook.jsp。

modelAttribute="book",用于绑定数据,将一整个pojo对象book,绑定,提交post请求,该请求则又会被DispatcherServlet拦截····

触发saveBook()方法。方法中携带@ModelAttribute注解的参数book,则是之前表单中绑定并且提交的book。添加成功后,重定向到展示图书的界面。该请求则又会被DispatcherServlet拦截,找到之前的display()方法,显示所有的图书。

3.删除指定的图书(DELETE请求)

因为浏览器只支持GET和POST两种请求,因此首先要做的就是把超链接的GET请求转化为DELETE请求,这在另一篇文章中已经介绍过。

点击Delete超链接。

将跳转到deleteBook方法,根据占位符的方式,利用@PathVariable注解从uri中获取id,然后根据id删除指定的图书。随后重定向到展示所有的图书界面。

4.更新图书信息(PUT请求)

更新图书主要分两个步骤。首先跳转到更新信息的表单页面,填写信息,提交表单后进行保存。

点击Edit按钮,

同样是通过占位符的方式id传递过去。在editBook方法中通过@PathVariable注解来获取id。然后将book放在model中传递到UpdateBook.jsp页面。

在UpdateBook.jsp页面中,id是作为隐藏的属性传递过去,因为id不能手动修改,由数据库实现。另外转化为PUT请求时,不可以使用SpringMVC的<form:hidden>标签,因为使用此标签的前提是_method必须是book的一个属性,否则会报错。

另外,action的值必须是绝对路径。否则会报错。

提交表单后,

执行此方法,更新图书信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值