微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html-SpringMVC:在表单中指定要删除的方法的问题

我正在尝试删除服务器上的资源,并希望通过网页上的普通链接来执行此操作.

我了解点击链接时,我们无法向服务器发送DELETE请求,因此我尝试使用

<form id="aux_form" action="environment/">
   <input type="hidden" name="_method" value="delete">
   <input type="hidden" name="id" value="${env.id}">
</form>

并且我的Spring控制器方法带有注释

@RequestMapping(value = "/environment/", method = RequestMethod.DELETE)

但是,我收到错误消息“所请求的资源不允许使用指定的HTTP方法(不支持请求方法’GET’).”因此我知道未调用我的控制器方法并且删除请求未正确映射.

如果有人能告诉我如何正确发送此删除请求,将不胜感激.

谢谢 :)

解决方法:

这应该工作:
    
    
       
       
    

在您的web.xml文件注册此过滤器,这会将表单中的_method隐藏参数转换为DELETE Http请求:

<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>

现在,您的请求可以由以下类型的处理程序处理:

@RequestMapping(value = "/environment/", method = RequestMethod.DELETE)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。