文章目录

  • 前言
  • 一、 ArticleController实现的功能
  • 二、sidebar-1.jsp,articleDetail.jsp
    • 1.通知栏那的导航
    • 2. 文章的显示
  • 总结

前言

使用下面这些对象

    @Autowiredprivate ArticleService articleService;@Autowiredprivate CommentService commentService;@Autowiredprivate UserService userService;@Autowiredprivate TagService tagService;@Autowiredprivate CategoryService categoryService;

一、 ArticleController实现的功能

  1. 文章详情页的显示
    方法框架:
    说明:value = "/article/{articleId}"接受url的参数传给Pathvariable,然后传给方法形参,这样下边通过文章ID实现功能返回的数据给前端
@RequestMapping(value = "/article/{articleId}")public String getArticleDetailPage(@PathVariable("articleId") Integer articleId, Model model) {//文章信息,分类,标签,作者,评论//获得对应文章的对象中包含想要文章的所有信息Article article = articleService.getArticleByStatusAndId(ArticleStatus.PUBLISH.getValue(), articleId);if (article == null) {return "Home/Error/404";}//用户信息User user = userService.getUserById(article.getArticleUserId());article.setUser(user);//文章信息model.addAttribute("article", article);//评论列表List<Comment> commentList = commentService.listCommentByArticleId(articleId);model.addAttribute("commentList", commentList);//相关文章List<Integer> categoryIds = articleService.listCategoryIdByArticleId(articleId);List<Article> similarArticleList = articleService.listArticleByCategoryIds(categoryIds, 5);model.addAttribute("similarArticleList", similarArticleList);//猜你喜欢List<Article> mostViewArticleList = articleService.listArticleByViewCount(5);model.addAttribute("mostViewArticleList", mostViewArticleList);//获取下一篇文章Article afterArticle = articleService.getAfterArticle(articleId);model.addAttribute("afterArticle", afterArticle);//获取上一篇文章Article preArticle = articleService.getPreArticle(articleId);model.addAttribute("preArticle", preArticle);//侧边栏//标签列表显示List<Tag> allTagList = tagService.listTag();model.addAttribute("allTagList", allTagList);//获得随机文章List<Article> randomArticleList = articleService.listRandomArticle(8);model.addAttribute("randomArticleList", randomArticleList);//获得热评文章List<Article> mostCommentArticleList = articleService.listArticleByCommentCount(8);model.addAttribute("mostCommentArticleList", mostCommentArticleList);return "Home/Page/articleDetail";}

二、sidebar-1.jsp,articleDetail.jsp

1.通知栏那的导航

<nav class="breadcrumb"><a class="crumbs" href="/"><i class="fa fa-home"></i>首页</a><c:choose><c:when test="${article.categoryList != null && article.categoryList.size() > 0}"><c:forEach items="${article.categoryList}" var="c"><i class="fa fa-angle-right"></i><a href="/category/${c.categoryId}">${c.categoryName}</a></c:forEach></c:when><c:otherwise><i class="fa fa-angle-right"></i><a>未分类</a></c:otherwise></c:choose><i class="fa fa-angle-right"></i>正文</nav>

2. 文章的显示

正文代码理解:大体还是后端发送过来的信息对象然后然后展示其中的内容,还有所属分类,以及i相关文章的显示,后端通过方法直接返回了相关文章列表,上一篇文章,下一篇文章

总结

个人博客Controller-home之ArticleController相关推荐

  1. 项目:个人博客系统 Part3 Controller层编写

    个人博客系统 Part3 Controller层分为两个模块:user模块和admin模块,分别对应博客的前台页面和后台管理页面. 一.user模块 由于Controller传递到前台的变量较多,且重 ...

  2. 码神之路博客项目构建记录

    个人博客项目 Blog 一.项目搭建(2021.10.6) pom文件导入相关依赖 application配置文件配置 Mybatis Plus配置 跨域问题解决 二.首页配置 首页分页显示文章信息 ...

  3. springboot实战项目——个人博客系统

    1.项目介绍 1.1项目效果 博客首页 登录功能 注册功能 文章分类 文章归档 文章页面 发布文章 (集成富文本编译器) 1.2项目使用技术 前端: vue element-ui 后端: Spring ...

  4. 毕业设计分享----基于Java的个性化博客空间的设计与实现

    一.大宇想说的话 大宇大学毕业已经四个月了,这四个月有懒惰的时候,有努力的时候.回首自己走过的路,只有毕业设计最能浓缩我的所学.我早就有这个打算:把自己的毕业设计与大家分享,但一直没有用行动落实.这个 ...

  5. springboot+vue练手级项目,真实的在线博客系统

    文章目录 spring boot 练手实战项目说明 基础知识 面试准备 1. 工程搭建 1.1 新建maven工程 1.1.2遇到的bug 1.2 配置 1.3 启动类 2. 首页-文章列表 2.1 ...

  6. SSM项目实战【从 0 到 1】:个人博客

    文章目录 前言 一.项目简介 二.项目技术栈 三.准备工作 1.Spring Boot 项目创建 2.mybatis 配置 3.数据库创建 四.基本框架搭建 1.实体层(model) 2.控制器层(c ...

  7. SSM项目 - 博客系统

    在线体验 : http://43.139.1.94:8080/login.html 项目 Gitee 链接 : 博客系统 - SSM 1.SSM 版本的博客系统相较于 Servlet 版本的升级 1. ...

  8. 使用Node.js+Koa 从零开始写个人博客系统——后端部分(一)

    使用Node.js+Koa 从零开始写个人博客系统系列 提示:在此文章中你可以学习到的内容如下: 1 如何使用Koa快速搭建项目 2 对Koa的核心组件Koa-Route的简单使用 3 3层架构思想 ...

  9. 基于springboot + vue 的个人博客搭建过程(续)

    承接上文:基于springboot + vue 的个人博客搭建过程 目录 1. 评论列表 1.1 接口说明 1.2 controller 1.3 service 1.4 mapper 1.5 实体类 ...

  10. 全栈开发实战(一)——简易博客社区后端搭建教程(附源码)

    全栈开发实战(一)--简易博客社区后端搭建 项目展示视频 项目Github地址 (一)项目准备 在项目开始前,首先确保你已安装好Go语言并配置好Go语言编辑器,同时安装好MySQL或其他数据库,其次, ...

最新文章

  1. canvas-绘制矩形-读书笔记
  2. 角色动作系统概述:战斗、3C相关
  3. 使用RQShineLabel
  4. BZOJ1370 [Baltic2003]Gang团伙
  5. Oracle数据库merge into的使用,存在则更新,不存在则插入
  6. 类成员指针——偏移量
  7. ajax调用webService
  8. PMBOK 49过程 ITTO和4W1H(第六版)
  9. 从win10体验到重装win8
  10. 企鹅号怎么赚钱,企鹅号怎么运营,企鹅号怎么写爆文
  11. 移动和包不能激活NFC问题
  12. A Game of Thrones(41)
  13. wps批量将文档括号内的字符串修改颜色
  14. android 手机中boot.img基址的计算方法(zz)
  15. python 电压 谐波_教你计算总谐波失真(THD)
  16. HTML语言全称叫超文本标记语言,其中的“标记“如何理解,“超文本”又如何理解?
  17. python3自动爬取网页资源并保存为epub电子书
  18. 最简单DIY基于STM32的远程控制电脑系统①(电容触摸+按键控制)
  19. 杂项 《转化生命的友谊》转化生命的良友
  20. java计算机毕业设计医院临床管理系统录屏源程序+mysql+系统+lw文档+远程调试

热门文章

  1. 高校“保安哥”成“励志哥”
  2. linux下wma转换mp3统一音量的方法
  3. 这家要上市的独角兽应该是今年最没面子的独角兽了
  4. 101、基于51单片机数控电源 数码管 直流稳压电源 恒流恒压系统设计
  5. fckeditor编辑器漏洞
  6. 华为与WorldRemit达成协议:在非洲可以使用手机进行转账
  7. 【重温基础算法】内部排序之快速排序法
  8. 【大学物理实验】实验报告数据
  9. Gauss消元法求解线性方程组的Matlab实现(列主元、全主元)
  10. office 卸载工具