这个其实也挺简单的,没啥想讲的
1.listCategory.html
新增一个deleteBean的方法
deleteBean: function (id) {
//这里其实会出现一个确认删除的提示框
if (!checkDeleteLink())
return;
//url规范,说实话这里的接口其实是和controller映射一致的吧
var url = this.uri + "/" + id;
axios.delete(url).then(function (response) {
//删除成功会返回一个空字符串
if (0!=response.data.length)
alert(response.data);
else {
//删除成功,返回第一页
vue.list(0);
}
})
}
//确实是否要删除
function checkDeleteLink(){
var confirmDelete = confirm("确认要删除");
if(confirmDelete)
return true;
return false;
}
都写在注释里面了
自己思考的一个点就是ajax访问的url与controller的mapping的url设计,貌似其实是一致的
<a href="#nowhere" @click="deleteBean(bean.id)"><span class=" glyphicon glyphicon-trash"></span></a>
这是删除的按钮设置
2.service略
3.controller
在调用完service方法,对数据库进行操作以后,还要对图片进行删除的处理
@DeleteMapping("/categories/{id}")
public String delete(@PathVariable("id") int id, HttpServletRequest request ){
categoryService.delete(id);
File imageFolder = new File(request.getServletContext().getRealPath("image/category"));
File file = new File(imageFolder,id+".jpg");
file.delete();
return null;
}
然后返回一个空字符串
挺简单的,没啥可说的,谢谢观看