文章修改update
1.业务处理层的实现
(1)编写Service层接口方法
在文章业务接口IArticleService中添加文章修改方法,示例代码如下。
//根据主键更新文章
public void updateArticleWithId(Article article);
(2)编写Service层接口实现类方法
在文章业务层接口实现类ArticleServiceimpl中实现updateArticle方法,示例代码如下。
// 更新文章
@Override
public void updateArticleWithId(Article article) {
article.setModified(new Date());
articleMapper.updateArticleWithId(article);
redisTemplate.delete("article_" + article.getId());
}
上述代码中,先对文章进行了更新处理,然后有调用了RedisTemplate删除了指定id的文章缓存信息。
2.请求处理层实现
在后台管理控制类AdminController中定义两个方法,分别用于处理跳转到文章修改了页面和保存修改文章的操作,具体代码如下所示;
// 向文章修改页面跳转
@GetMapping(value = "/article/{id}")
public String editArticle(@PathVariable("id") String id, HttpServletRequest request) {
Article article = articleServiceImpl.selectArticleWithId(Integer.parseInt(id));
request.setAttribute("contents", article);
request.setAttribute("categories", article.getCategories());
return "back/article_edit";
}
// 文章修改处理
@PostMapping(value = "/article/modify")
@ResponseBody
public ArticleResponseData modifyArticle(Article article) {
try {
articleServiceImpl.updateArticleWithId(article);
logger.info("文章更新成功");
return ArticleResponseData.ok();
} catch (Exception e) {
logger.error("文章更新失败,错误信息: "+e.getMessage());
return ArticleResponseData.fail();
}
}
上述代码中,editArticle()方法用于处理向文章修改页面跳转的逻辑,该方法通过获取指定文章id,跳转到对应文章的编辑页面;modifyArticle()方法用于处理文章编辑操作,处理成功后,会跳转到文章管理列表页面。