SpringMvc下实现delete和put请求

来源:互联网 发布:男士 长袖 知乎 编辑:程序博客网 时间:2024/06/12 20:26

首先,在web.xml中需要创建一个过滤器:

<filter>        <filter-name>HiddenHttpMethodFilter</filter-name>        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping>        <filter-name>HiddenHttpMethodFilter</filter-name>        <url-pattern>/*</url-pattern></filter-mapping>
注意:
这个过滤器必须放在dispatcher之前,不然会报错,功能就是将post或者get请求转化为标准的http请求,然后在对应的controller中进行处理即可。

ex:

在table中有这么一列:

<td><a class="delete" href="emp/${emp.id}">Delete</a></td>

添加如下的脚本:

<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>    <script type="text/javascript">        $(function(){            $(".delete").click(function(){                var href = $(this).attr("href");                $("form").attr("action", href).submit();/*定义表单提交的地址*/                return false;            });        })    </script>

当点击delete这个超链接的时候,会通过表单实现post提交

表单中有一个隐藏域,通过DELETE方式提交:

<form action="" method="post">    <input type="hidden" name="_method" value="DELETE"/></form>

在controller进行捕获和获取即可:

 @RequestMapping(value = "/emp/{id}",method = RequestMethod.DELETE)    public String delete(@PathVariable("id") Integer id){        employeeDao.delete(id);        return "redirect:/emps";    }




0 0