在前面两篇博客中我们分别实现了在dao层的博客类别的增删改查已经分页,以及在后台管理系统界面中的博客类别的分页显示,那么现在我就要准备实现了在后台管理界面的博客类别的添加,修改,删除操作了。
#1、博客类别service层完善
在service层中 需要注入dao层的对象 然后调用相应的方法即可
ssm.blog.service.BlogTypeService
“`java
/**
* Created by xp on 2017/4/14.
* @author xp
* @Description 博客类别service接口
*/
public interface BlogTypeService {
//省略其他代码…
// 添加博客类别
public Integer addBlogType(BlogType blogType);
// 更新博客类别
public Integer updateBlogType(BlogType blogType);
// 删除博客类别
public Integer deleteBlogType(Integer id);
}
然后就是完善service对应的实现类
ssm.blog.service.impl.BlogTypeImpl
```java
/**
* Created by xp on 2017/4/14.
* @author xp
* @Description 博客类别service接口实现类
*/
@Service
public class BlogTypeServiceImpl implements BlogTypeService{
@Resource
private BlogTypeDao blogTypeDao;
//省略其他代码...
public Long getTotal() {
return blogTypeDao.getTotal();
}
public Integer addBlogType(BlogType blogType) {
return blogTypeDao.addBlogType(blogType);
}
public Integer updateBlogType(BlogType blogType) {
return blogTypeDao.updateBlogType(blogType);
}
public Integer deleteBlogType(Integer id) {
return blogTypeDao.deleteBlogType(id);
}
}
<div class="se-preview-section-delimiter"></div>
这样我们的service就解决了 接下来就是完善我们的controller层
2、博客类别controller层完善
在控制层我们需要提供新增、修改、删除三个url请求接口给前台的页面请求,但是其实我们可以把修改跟新增放在一个方法中,只需要判断传来的数据是否有没有id
有:就是修改 没有:就是新增
对于删除操作来说,我们的是可以多选的,那么我们需要前台把选中的id按照某种特定的方式拼接成字符串 ,然后我们在控制层把字符串按照某种方式分割,然后for循环逐个删除 删除的时候我们要判断该博客类别下面是否有博客 如果有就禁止删除博客类别 ,等我们完成博客对应的操作再来完善 在那里我们注释写一个TODO就可以
例如
前台:
选中要删除的id分别是 var idArray = [3, 5 ,6]
按,拼接拼接成字符var ids = idArray.join(",")
请求发送给后台
后台
String[] idArr = ids.split(",");
这样我们就拿到了全部要删除的id了
<div class="se-preview-section-delimiter"></div>
就是代码实现
// 添加和更新博客类别
@RequestMapping("/save")
public String save(BlogType blogType, HttpServletResponse response)
throws Exception {
int resultTotal = 0; // 接收返回结果记录数
if (blogType.getId() == null) { // 说明是第一次插入
resultTotal = blogTypeService.addBlogType(blogType);
} else { // 有id表示修改
resultTotal = blogTypeService.updateBlogType(blogType);
}
JSONObject result =