SpringMVC刪除與修改操作需要用DELETE,PUT請求方式提交。
但要知道瀏覽器form表單只支持GET與POST請求,而DELETE、PUT等method並不支持。
spring3.0添加了一個過濾器,可以將這些請求轉換為標准的http方法,使得支持GET、POST、PUT與DELETE請求。
這個過濾器需要在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>
<servlet-name>springmvc</servlet-name>
</filter-mapping>
注:其中springmvc是DispatcherServlet的servlet-name的名稱,配成其他如/*等之類的頁面請求會報錯。
頁面提交方式需轉換成post提交方式(可寫jquery方式提交表單)。
需要在頁面上添加隱藏域告訴controller此請求是哪種請求方式:
<input type="hidden" name="_method" value="DELETE"/>
<input type="hidden" name="_method" value="PUT"/>
這樣,就可實現刪除與更新的操作了。