Spring 3 MVC 支持所有 4 种 RESTful 方法:GET、POST、PUT 和 DELETE。但它的视图技术是否支持它们在表单上?如果不是,标签中method
属性的真正用途是什么?form:form
我尝试在表单上使用 PUT 方法:
<form:form action="/myaction" method="PUT">
...
</form:form>
生成的 HTML 是:
<form id="command" action="/myaction" method="post">
<input type="hidden" name="_method" value="PUT"/>
...
</form>
很明显,因为大多数浏览器不支持除 GET 和 POST 之外的其他方法。input
但是 Spring 可以使用 name_method
和 value来处理它METHOD_NAME
。可以?
当我将指定的表单发送到带有注释的控制器方法时
@RequestMapping(method=RequestMethod.PUT)
它声称,POST
不支持该请求方法。但为什么POST
不PUT
呢?引擎盖下到底发生了什么?