警告: Request method 'GET' not supported问题的解决
<script type="text/javascript" src="scripts/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function(){
$(".delete").click(function(){
var href=$(this).attr("href");
return false;
});
})
</script>
这是JS代码,想要通过JS实现在超链接标签的基础上提交Delete请求。
<!-- 配置HiddenHttpMethodFilter -->
<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>
<!--请求方式的转换>
<!-- 转换Delete请求 -->
<form action="" method="POST">
<input type="hidden" name="_method" value="DELETE"/>
</form>
HiddenHttpMethodFilter的配置和请求的转换
<c:forEach items="${requestScope.employees }" var="emp">
<tr>
<td>${emp.id }</td>
<td>${emp.lastName }</td>
<td>${emp.email }</td>
<td>${emp.gender == 0 ? 'Female' : 'Male' }</td>
<td>${emp.department.departmentName }</td>
<td><a href="emp/${emp.id}">Edit</a></td>
<td><a class="delete" href="emp/${emp.id}">Delete</a></td>
</tr>
</c:forEach>
这是我显示页面的部分代码,但是提交总是会报错:
解决方案:由于本人是一个小白,所以直接放弃了使用超链接的方式,超链接默认只支持get 和post请求,所以我直接用表单提交解决了问题
<c:forEach items="${requestScope.employees }" var="emp">
<tr>
<td>${emp.id }</td>
<td>${emp.lastName }</td>
<td>${emp.email }</td>
<td>${emp.gender == 0 ? 'Female' : 'Male' }</td>
<td>${emp.department.departmentName }</td>
<td><a href="">Edit</a></td>
<td><a href="">Edit</a></td>
<td>
<form action="${pageContext.request.contextPath}/emp/${emp.id}" method="post">
<input type="hidden" name="_method" value="delete">
<input type="submit" value="Delete">
</form>
</td>
</tr>
</c:forEach>
这是本人第一次写博客,希望有解决这个问题的人指点我一下,谢谢