发送put请求修改供应商信息
- 在SpringMVC中配置HiddenHttpMethodFilter(SpringBoot自动配置好了)
- 页面创建一个method="post"表单–>
- 创建一个input标签 name="_method",value=“指定请求方式”
页面:
<form id="updateForm" action="#" th:action="@{/provider}" th:method="POST">
<input th:type="hidden" name="_method" value="PUT">
controller层
@PutMapping("/provider")
public String update(Provider provider) {
logger.info("更改供应商信息。。。");
//更新操作
providerDao.save(provider);
return "redirect:providers";
}
重中之重 :
SpringMVC使用get/post以外提交方式,例如put等需要具备以下条件:
配置HiddenHttpMethodFilter
页面创建一个post表单
创建一个input项,name=”_method” Value=“put”,值就是指定的请求方式
而springboot自动配置,帮我们省略了第一步的配置,上面代码方法就是为了实现自动配置,但是因为注解@ConditionalOnProperty限制了自动配置,默认false不开启配置,所以页面的put提交无法使用。
So
spring.mvc.hiddenmethod.filter.enabled=true
没有这步无论你如何检查 你都解决不掉这个问题!!!