SpringMVC的controller提供了PUT和DELETE的请求方式怎么使
JSP的action的请求方式只有POST和GET,但SpringMVC给的请求方式有多种,除了POST和GET对应的能用,其他怎么使用???...
JSP的action的请求方式只有POST和GET,但SpringMVC给的请求方式有多种,除了POST和GET对应的能用,其他怎么使用???
展开
2个回答
展开全部
1.<!-- 配置过滤器 将POST请求转换为PUT和DELETE请求 -->
<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>
2.在表单上增加一个隐藏表单域,将HiddenHttpMethodFilter里的_method属性改为put或者delete后提交
因为只有form表单才具有post方法,而这个过滤器也只能将post方法转化,get则不行
比如你要提交一个删除的请求
其Controller里的方法对应的
@RequestMapping(value="deleteById/{id}",method = RequestMethod.DELETE)
//RESTFUL风格
<a class="del" href="deleteById/100">DELETE</a>//将ID为100的删除
<form action="" method="post" id="delForm">
<input type="hidden" name="_method" value="DELETE">
</form>
当然这种提交是要写js的
$(function(){
$('.del').click(function(){
$('#delForm').attr('action',this.href).submit();
})
})
这段js脚本的意思就是
在点击<a>标签删除的时候将a标签的href赋值给id为delForm的表单的action然后让这个form
表单提交.这就完成了将POST请求转换成DELETE请求,那么PUT请求也可以同样这样做.
呵呵,有不懂的可以来问我呀.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询