第8讲 8.2 SpringBoot 添加,修改,删除操作

,BookController

    1.添加add方法,

     添加注解@RequestMapping(value="/add",method=RequestMethod.POST)指定post方式请求

     写保存的方法, 重定向redirect ,地址栏会发生改变

@RequestMapping(value="/add",method=RequestMethod.POST)
public String add(Book book){
        bookDao.save(book);
        return "redirect:/book/list";

 }


    2.根据id查找Book的preUpdate方法,返回值为ModelAndView,返回的视图是bookUpdate 
对应的bookUpdate.ftl 文件,该方法通过路径传递参数,通过bookDao.findById(id).get();查询book,网上有说findOne()方法和 getOne()方法,但是这两个都不行。可能是版本的问题

@RequestMapping("/preupdate/{id}")

public ModelAndView preupdate(@PathVariable(value="id")Integer id){

        ModelAndView mav = new ModelAndView();
        Book book = bookDao.findById(id).get();
        mav.addObject("book", book);
        mav.setViewName("bookUpdate");
        return mav;
}

    3.更新update方法,post请求,注解@PostMapping(value="/update"),规定了post请求,转发forward

@PostMapping(value="/update")
public String update(Book book){
        bookDao.save(book);
        return "forward:/book/list";
}

    4.写删除delete的方法(根据id),get请求,forward转发

@GetMapping("/delete")
public String delete(Integer id){
        bookDao.deleteById(id);
        return "redirect:/book/list";
}

2,修改bookList.ftl   添加 , 修改  和 删除的按钮,


PS :注意两者传递参数的方式不同 :

           <a href="/book/preupdate/${book.id}">修改</a>
            <a href="/book/delete?id=${book.id}">删除</a>

    添加按钮直接转到添加页面 :

            <a href="/bookAdd.html">添加</a>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图书列表</title>
</head>
<body>
<a href="/bookAdd.html">添加</a>
<table>
    <tr>
        <th>编号</th>
        <th>名称</th>
        <th>作者</th>
        <th>操作</th>
    </tr>
    <#list bookList as book>
    <tr>
        <td>${book.id}</td>
        <td>${book.name}</td>
        <td>${book.author}</td>
        <td>
            <a href="/book/preupdate/${book.id}">修改</a>
            <a href="/book/delete?id=${book.id}">删除</a>
        </td>
    </tr>
    </#list>
</table>
</body>

</html>


3,bookAdd.html  写 添加的界面,bookAdd.html 放在了webapp目录下,form表单,post请求,

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加图书</title>
</head>
<body>
添加图书
<form action="/book/add" method="post">
<table>
    图书名称:<input type="text" name="name" /><br/>
    图书作者:<input type="text" name="author" /><br/>
    <input type="submit" value="提交"/>
</table>
</body>
</html>

4,bookUpdate.ftl  写修改的界面,隐藏域,form表单,post请求,

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加图书</title>
</head>
<body>
修改图书
<form action="/book/add" method="post">
<table>
    <input type="hidden" name="id" value="${book.id}"/>
    图书名称:<input type="text" name="name" value="${book.name}"/><br/>
    图书作者:<input type="text" name="author" value="${book.author}"/><br/>
    <input type="submit" value="提交"/>
</table>
</body>
</html>

5,测试

8.2_SpringBoot_添加,修改,删除操作

猜你喜欢

转载自blog.csdn.net/u010393325/article/details/83957875
8.2