SpringMVC的controller提供了PUT和DELETE的请求方式怎么使
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC的controller提供了PUT和DELETE的请求方式怎么使相关的知识,希望对你有一定的参考价值。
JSP的action的请求方式只有POST和GET,但SpringMVC给的请求方式有多种,除了POST和GET对应的能用,其他怎么使用???
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请求也可以同样这样做.
呵呵,有不懂的可以来问我呀. 参考技术A 一样的用法
SpringMVC数据绑定
在你使用springMVC的数据绑定的时候,你没有想过,没有使用数据绑定前端如何向后端传入数据,
这样和使用springMVC数据绑定之间的区别,数据绑定的实质是什么。
《一》 前端传入参数(最初始的方法)
// url http://locahost:8080/main?id = 1
// 后端controller
@requesetMapping(value = "/main")
publc int main()
int id = request.getparameter("id");
return id;
最初始的时候,没有参数绑定,自己手动将存入在request域里面的参数,手动取出来,然后在执行下一步操作。(例如表单提交时候,后端在request里面一个一个将表单中元素的数值取出来)
问题:如果在前端传入参数很多的时候,如何将这些参数,方便快捷的取出来?
那么使用springMVC数据绑定可以解决上面问题吗?
// 使用springmvc处理原始问题 // url http://locahost:8080/main?id = 1 @requestMapping(value = /main") public int main(int id) return id;
通过上述代码发现,使用springmvc数据绑定,只需要将controll方法体中的参数和url中绑定的参数名相同即可,不需要向之前从request域中取出数据。
下面将从工作原理以及简单数据绑定,复杂数据绑定介绍springMVC数据绑定
一. 工作原理
注意:从上面的servletrequest验证数据是存储在servlet request 内置对象中
核心部件:Databinder接口
绑定过程如下:
( 1 ) Spring MVC ServletRequest 对象传递给 DataBinder
( 2 )将处理方法的入参对象传递给 DataBinder
( 3 ) DataBinder 调用 ConversionService 组件进行数据类型转换、数据格式化等工作,并将ServletRequest 对象中的消 息填充到参数对象中
(4 )调用 Validator 组件对已经绑定了请求消息数据的参数对象进行数据合法性校验
(5 )校验完成后会生成数据绑定结果 BindingResult 对象, Spring MVC 会将 BindingResult
对象中的内容赋给处理方法的相应参数
未完待续!!!!!!!!!!!!!!!!
以上是关于SpringMVC的controller提供了PUT和DELETE的请求方式怎么使的主要内容,如果未能解决你的问题,请参考以下文章