17_springboot Restful风格

1.listStudent.jsp 把方法编程RESTFUL的

注意各个功能的情况

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>


    <script type="text/javascript">
        /*将post method 改变为delete*/
        $(function(){
            $(".delete").click(function(){
                var href=$(this).attr("href");
                $("#formdelete").attr("action",href).submit();
                return false;
            })
        })
    </script>

<div align="center">

</div>

<div style="width:500px;margin:20px auto;text-align: center">
    <table align='center' border='1' cellspacing='0'>
        <tr>
            <td>stuId</td>
            <td>name</td>
            <td>sex</td>
            <td>编辑</td>
            <td>删除</td>
        </tr>
        <c:forEach items="${page.list}" var="s" varStatus="abc">
            <tr>
                <td>${s.stuId}</td>
                <td>${s.name}</td>
                <td>${s.sex}</td>
                <td><a href="listStudents/${s.stuId}">编辑</a></td>
                <td><a class="delete" href="listStudents/${s.stuId}">删除</a></td>
            </tr>
        </c:forEach>

    </table>
    <br>
    <div>
        <a href="?start=1">[首  页]</a>
        <a href="?start=${page.pageNum-1}">[上一页]</a>
        <a href="?start=${page.pageNum+1}">[下一页]</a>
        <a href="?start=${page.pages}">[末  页]</a>
    </div>
    <br>
    <form action="listStudents" method="post">

        name: <input name="name"> <br>
        sex:  <input name="sex"><br>
        <button type="submit">提交</button>

    </form>
    <form id="formdelete" action="" method="POST" >
        <input type="hidden" name="_method" value="DELETE">
    </form>
</div>

2.editStudent.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" isELIgnored="false"%>

<div style="margin:0px auto; width:500px">

    <form action="/listStudents/${s.stuId}" method="post">
        <input type="hidden" name="_method", value="PUT">
        name: <input name="name" value="${s.name}"> <br>
        sex:  <input name="sex" value="${s.sex}"><br>

        <input name="stuId" type="hidden" value="${s.stuId}">
        <button type="submit">提交</button>

    </form>
</div>

3.StudentController

@Controller
public class StudentController {
    @Autowired
    StudentMapper studentMapper;

    @RequestMapping("/listStudents")
    public String listStudent(Model m, @RequestParam(value = "start", defaultValue = "0") int start,
                              @RequestParam(value = "size", defaultValue = "5") int size)throws Exception{
        PageHelper.startPage(start, size, "stuid desc");
        List<Student> stu = studentMapper.findAll();
        PageInfo<Student> page = new PageInfo<>(stu);
        m.addAttribute("page",page);
        return "listStudent";
    }

    @PostMapping("/listStudents")
    public String addStudent(Student s) throws Exception{
        studentMapper.save(s);
        return "redirect:/listStudents";
    }

    @DeleteMapping("/listStudents/{stuId}")
    public String deleteStudent(Student s) throws Exception {
        studentMapper.delete(s.getStuId());
        return "redirect:/listStudents";
    }
    @PutMapping("/listStudents/{stuId}")
    public String updateStudent(Student s) throws Exception {
        studentMapper.update(s);
        return "redirect:/listStudents";
    }

    @GetMapping("/listStudents/{stuId}")
    public String editStudent(@PathVariable("stuId") int stuId,Model m) throws Exception {
        Student s= studentMapper.get(stuId);
        m.addAttribute("s", s);
        return "editStudent";
    }
}

4.配置文件application.properties增加

#使用restful支持
spring.mvc.hiddenmethod.filter.enabled=true

5.运行http://127.0.0.1:8080/listStudents,成功进入

posted @ 2020-12-04 08:44  脑袋有点大  阅读(69)  评论(0编辑  收藏  举报