SpringMvc实现RESTful风格的delete和put请求
2018-03-21 21:17:49
803次阅读
0个评论
首先,在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>
添加如下的JS脚本:
<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";
}
00
相关话题
- TiDB 和 MySQL的差异
- hls播放m3u8 添加header请求头,在请求ts的url上添加参数
- 解决jquery的$.post或$.ajax发送同步请求时,loading的效果失效
- SpringMVC 限流量
- 获取SpringMVC中所有的RequestMapping映射URL地址
- SpringMVC流式上传文件
- SpringMVC获取Request域
- 斐波那契算法的java实现
- Nginx 根据URL请求参数转发
- SpringMVC使用StandardServletMultipartResolver上传文件
- 将footer固定在页面底部的实现方法
- Apache的commons-net实现FTP的文件上传下载
- HttpClient请求API返回结果中文乱码
- 开放接口api的Token签名sign设计与实现
- 解决root用户和普通用户的时区不一致的问题