Restful风格实现的CRUD图书
把前面的传统请求方式的图书的CRUD换成刚刚讲的Restful风格的图书模块的CRUD。只需要修改页面端的请求方式和地址,以及服务器端Controller的接收。
1、列表功能实现
Controller中的修改:
@RequestMapping(value = "/book",method = RequestMethod.GET)
public String list(Map map){
// 查询全部图书
List<Book> books = bookService.queryBooks();
// 保存到Request域中
map.put("books", books);
// 请求转发到/book/bookList.jsp页面
return "bookList";
}
jsp页面中请求的修改:
2、删除功能实现
Controller中的删除:
@RequestMapping(value = "/book/{id}",method = RequestMethod.DELETE)
public String delete(@PathVariable("id") Integer id){
// 调用bookService.deleteBookById()删除图书
bookService.deleteBookById(id);
// 重定向回图书列表管理页面
return "redirect:/book";
}
在 bookList.jsp页面中修改:
修改 删除的 js代码:
3、添加功能实现
Controller方法中的代码:
@RequestMapping(value = "/book",method = RequestMethod.POST)
public String save(Book book){
// 保存图书信息
bookService.saveBook(book);
// 重定向回图书列表管理页面
return "redirect:/book";
}
bookEdit.jsp页面上的更改:
4、更新功能实现
更新图书分为两个步骤:
1、查询需要更新的图书,填充到更新页面
2、提交请求,发送数据给服务器更新保存修改。
注意: 中文乱码的Filter一定要配置在 restful Filter的前面
5、查询需要更新的图书,填充到更新页面
Controller中代码:
@RequestMapping(value = "/book/{id}",method = RequestMethod.GET)
public String queryBookById(@PathVariable("id") Integer id,Map<String,Object> map){
// 调用bookService.queryBookById查询图书, 并且保存到Request域中
map.put("book",bookService.queryBookById(id));
// 请求转发到 /book/bookEdit.jsp页面
return "bookEdit";
}
修改的请求地址需要更新为:
6、提交请求,发送数据给服务器更新保存修改
Controller中的代码:
@RequestMapping(value = "/book/{id}",method = RequestMethod.PUT)
public String update(Book book){
// 调用bookService.save() 保存图书修改
bookService.updateBook(book);
// 重定向回图书列表管理页面
return "redirect:/book";
}
bookEdit.jsp页面的修改: