今天在写测试的时候发现下面的方式会出现405错误
<form action="${pageContext.request.contextPath}/delete/${teacher.id}" method="post">
<button class="btn btn-danger btn-sm delete_btn" type="submit">
<input type="hidden" name="_method" value="DELETE"/>
<span class="glyphicon glyphicon-trash">删除</span>
</button>
</form>
@PutMapping(value = "/update")
public String edit(TeacherMap teacherMap){
for (String key:teacherMap.getTeacherMap().keySet()) {
teacherDao.update(teacherMap.getTeacherMap().get(key));
}
return "redirect:/getALL";
}
问题的原因在于没有设置过滤器
org.springframework.web.filter.HiddenHttpMethodFilter
在web.xml中设置
<filter> <filter-name>hiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter>
<filter-mapping> <filter-name>hiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
然后问题就没有了
1644

被折叠的 条评论
为什么被折叠?



