Form 폼에서는 get 및 post 메소드만 지원됩니다. put 메소드를 구현하기 위해
1) SpringMVC에서 HiddenHttpMethodFilter를 구성합니다
2) 페이지 게시물 양식 생성
3) 입력 항목 name="_method"를 생성합니다. 값은 지정된 요청 메서드입니다.
그중 HiddenHttpMethodFilter 클래스에서
"_method 값을 가져옵니다. "를 선택하고 새 요청 방법을 가져옵니다.
<input type="hidden" name="_method" value="put" th:if="${employee!=null}"/>
번째 태그는 thymeleaf 템플릿입니다. 즉, 직원이 비어 있지 않을 때만 적용되며 입력된 값은 대소문자를 구분하지 않습니다.
새 버전의 SpringBoot에서는 이 put 요청이 작동하지 않았습니다. 그 이유는 springboot가 자동으로 구성하여 구성의 첫 번째 단계를 생략하는 데 도움이 되기 때문입니다. 위의 코드 방법은 자동 구성을 달성하는 것이지만 @ConditionalOnProperty 주석이 자동 구성을 제한하기 때문에 기본 false는 구성을 활성화하지 않으므로 put 제출이 가능합니다. 해당 페이지를 사용할 수 없습니다.
자동 구성을 활성화하려면 속성 구성 파일에서 구성하세요: spring.mvc.hiddenmethod.filter.enabled=true.
또한 DELETE 요청도 같은 방식으로 설정할 수 있습니다.
<form th:action="@{/emp/}+${emp.id}" method="post"> <input type="hidden" name="_method" value="delete"/> <button type="submit" class="btn btn-sm btn-danger" > 删除</button> </form>
mvc를 연구한 모든 사람은 이 두 가지 특별한 요청을 지원하려면 먼저 web.xml에서 다음 필터를 구성해야 한다는 것을 알고 있습니다.
<!--增加一个HiddenHttpMethodFilter过滤器:目的是给普通浏览器 增加put|delete请求方式--> <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>
그러나 SpringBoot는 이를 수행하지 않습니다. 이는 기본적으로 HiddenHttpMethodFilter를 IOC 컨테이너에 통합하는 데 도움이 되므로 사용이 매우 간단합니다.
#开启支持put delete请求的过滤器 spring.mvc.hiddenmethod.filter.enabled=true
다음의 숨겨진 필드를 게시물 요청 양식에 추가해야 합니다.
<!--http请求方式--> <form action="..." method="post"> <input type="hidden" name="_method" value="put" /> <!--value值改成delete 请求方式就为delete了--> </form>
위의 숨겨진 필드 이름은 "_method"여야 합니다. 이를 수정하려면 다음 빈을 추가해야 합니다. IOC:
아아아아위 내용은 SpringBoot에서 PUT 및 삭제 요청을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!