SpringMVC過濾器之HiddentHttpMethodFilter

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> 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章