这次尝试删除。

一、代码实现

(1)写一个移除map中元素的方法 employeeDao.delete(id);

这个方法根据id来删除map中的元素:

(2)写一个controller方法

注意这里需要使用delete请求。

因为是删除,需要传入一个id,直接在链接里面绑定要删除的id。

(3)写个页面

注意,因为web.xml中HiddenHttpMethodFilter这个类只能把post请求转成delete和put请求,是不支持get请求的

所以我们不能直接访问:http://localhost:8080/5.9springmvc/emp/4

这个链接,因为这样就是get请求方式。

spring mvc会报错:

五月 19, 2016 11:27:24 下午 org.springframework.web.servlet.PageNotFound handleHttpRequestMethodNotSupported
警告: Request method ‘GET’ not supported。

也就是说,我们要想办法把这个get请求转成post请求,进行提交。

post请求,我们马上就想到可以通过表单来提交,因为不需要再页面上显示出来,所以要设值type属性为hidden:

然后就是要用jquery来进行表单提交:

最终实现的页面就是:

难点是理解这里:

为什么要c参数名是_method?参数值为什么是DELETE?

因为HiddenHttpMethodFilter的参数是public static final String DEFAULT_METHOD_PARAM = “_method”;

所以说要把post请求转换成其他请求,提交的参数名就必须指定_method,而参数值必须是DELETE(你要转换的请求形式)。

二、总结

要理解的东西有点多:

  1. 配置spring mvc访问静态资源
  2. 如何正确使用HiddenHttpMethodFilter
  3. 要熟练掌握jquery的表单提交方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注