HiddentHttpMethodFilter過濾器
作用:
由於瀏覽器 form 表單只支持 GET 與 POST 請求,而 DELETE、PUT 等 method 並不支持,Spring3.0 添 加了一個過濾器,可以將瀏覽器請求改爲指定的請求方式,發送給我們的控制器方法,使得支持 GET、POST、PUT 與 DELETE 請求。
源碼:
使用方法:
第一步:在 web.xml 中配置該過濾器。
<!-- 配置HiddentHttpMethodFilter過濾器,修改瀏覽器請求爲指定方式 -->
<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>
第二步:請求方式必須使用 post 請求。
第三步:按照要求提供_method 請求參數,該參數的取值就是我們需要的請求方式
<!-- 保存 -->
<form action="springmvc/testRestPOST" method="post">
用戶名稱:<input type="text" name="username"><br/>
<!-- <input type="hidden" name="_method" value="POST"> -->
<input type="submit" value="保存">
</form>
<hr/>
<!-- 更新 -->
<form action="springmvc/testRestPUT/1" method="post">
用戶名稱:<input type="text" name="username"><br/>
<input type="hidden" name="_method" value="PUT">
<input type="submit" value="更新">
</form>
<hr/>
<!-- 刪除 -->
<form action="springmvc/testRestDELETE/1" method="post">
<input type="hidden" name="_method" value="DELETE">
<input type="submit" value="刪除">
</form>
<hr/>
<!-- 查詢一個 -->
<form action="springmvc/testRestGET/1" method="post">
<input type="hidden" name="_method" value="GET">
<input type="submit" value="查詢">
</form>