HiddenHttpMethodFilter过滤器的作用是将form表单提交的POST请求转化为指定的标准请求(GET,、POST、 HEAD、OPTIONS、PUT、DELETE、TRACE)。
该过滤器的实现原理是:通过读取POST请求体中的"_method"属性值,将该属性值作为HttpServletRequestWrapper.getMethod()的返回值。
该过滤器使用的步骤:
1)在web.xml中配置该过滤器:
1 <filter> 2 <filter-name>HiddenHttpMethodFilter</filter-name> 3 <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> 4 </filter> 5 <filter-mapping> 6 <filter-name>HiddenHttpMethodFilter</filter-name> 7 <url-pattern>/*</url-pattern> 8 </filter-mapping>
Spring官方文档建议在该过滤器的配置代码之前,配置上 MultipartFilter
过滤器,以便处理多段POST请求。
2)在.jsp的form标签内配置一个隐藏域标签:
<input type="hidden" name="_method" value="标准请求">
3)在控制器上配置好注解:
@RequestMapping(value = "",method = RequestMethod.XXX)