为了实现springmvc的rest风格设计,使用put提交方式遇到的问题,这里简单记录一下。
form表单只支持get和post的方式提交,我们要正确找到controller层的put方法,有两种方法可以完成。
1.使用HiddenHttpMethodFilter
在web.xml中配置如下过滤器
<filter>
<filter-name>HttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
jsp的form表单直接使用method="POST"的方式提交,提交一个隐藏的input <input type="hidden" name="_method" value="put" />
2.使用HttpPutFormContentFilter
在web.xml中配置如下过滤器
<filter>
<filter-name>httpPutFormcontentFilter</filter-name>
<filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpPutFormContentFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>