个人博客Controller-home之ArticleController
文章目录
- 前言
- 一、 ArticleController实现的功能
- 二、sidebar-1.jsp,articleDetail.jsp
- 1.通知栏那的导航
- 2. 文章的显示
- 总结
前言
使用下面这些对象
@Autowiredprivate ArticleService articleService;@Autowiredprivate CommentService commentService;@Autowiredprivate UserService userService;@Autowiredprivate TagService tagService;@Autowiredprivate CategoryService categoryService;
一、 ArticleController实现的功能
- 文章详情页的显示
方法框架:
说明: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相关推荐
- 项目:个人博客系统 Part3 Controller层编写
个人博客系统 Part3 Controller层分为两个模块:user模块和admin模块,分别对应博客的前台页面和后台管理页面. 一.user模块 由于Controller传递到前台的变量较多,且重 ...
- 码神之路博客项目构建记录
个人博客项目 Blog 一.项目搭建(2021.10.6) pom文件导入相关依赖 application配置文件配置 Mybatis Plus配置 跨域问题解决 二.首页配置 首页分页显示文章信息 ...
- springboot实战项目——个人博客系统
1.项目介绍 1.1项目效果 博客首页 登录功能 注册功能 文章分类 文章归档 文章页面 发布文章 (集成富文本编译器) 1.2项目使用技术 前端: vue element-ui 后端: Spring ...
- 毕业设计分享----基于Java的个性化博客空间的设计与实现
一.大宇想说的话 大宇大学毕业已经四个月了,这四个月有懒惰的时候,有努力的时候.回首自己走过的路,只有毕业设计最能浓缩我的所学.我早就有这个打算:把自己的毕业设计与大家分享,但一直没有用行动落实.这个 ...
- springboot+vue练手级项目,真实的在线博客系统
文章目录 spring boot 练手实战项目说明 基础知识 面试准备 1. 工程搭建 1.1 新建maven工程 1.1.2遇到的bug 1.2 配置 1.3 启动类 2. 首页-文章列表 2.1 ...
- SSM项目实战【从 0 到 1】:个人博客
文章目录 前言 一.项目简介 二.项目技术栈 三.准备工作 1.Spring Boot 项目创建 2.mybatis 配置 3.数据库创建 四.基本框架搭建 1.实体层(model) 2.控制器层(c ...
- SSM项目 - 博客系统
在线体验 : http://43.139.1.94:8080/login.html 项目 Gitee 链接 : 博客系统 - SSM 1.SSM 版本的博客系统相较于 Servlet 版本的升级 1. ...
- 使用Node.js+Koa 从零开始写个人博客系统——后端部分(一)
使用Node.js+Koa 从零开始写个人博客系统系列 提示:在此文章中你可以学习到的内容如下: 1 如何使用Koa快速搭建项目 2 对Koa的核心组件Koa-Route的简单使用 3 3层架构思想 ...
- 基于springboot + vue 的个人博客搭建过程(续)
承接上文:基于springboot + vue 的个人博客搭建过程 目录 1. 评论列表 1.1 接口说明 1.2 controller 1.3 service 1.4 mapper 1.5 实体类 ...
- 全栈开发实战(一)——简易博客社区后端搭建教程(附源码)
全栈开发实战(一)--简易博客社区后端搭建 项目展示视频 项目Github地址 (一)项目准备 在项目开始前,首先确保你已安装好Go语言并配置好Go语言编辑器,同时安装好MySQL或其他数据库,其次, ...
最新文章
- canvas-绘制矩形-读书笔记
- 角色动作系统概述:战斗、3C相关
- 使用RQShineLabel
- BZOJ1370 [Baltic2003]Gang团伙
- Oracle数据库merge into的使用,存在则更新,不存在则插入
- 类成员指针——偏移量
- ajax调用webService
- PMBOK 49过程 ITTO和4W1H(第六版)
- 从win10体验到重装win8
- 企鹅号怎么赚钱,企鹅号怎么运营,企鹅号怎么写爆文
- 移动和包不能激活NFC问题
- A Game of Thrones(41)
- wps批量将文档括号内的字符串修改颜色
- android 手机中boot.img基址的计算方法(zz)
- python 电压 谐波_教你计算总谐波失真(THD)
- HTML语言全称叫超文本标记语言,其中的“标记“如何理解,“超文本”又如何理解?
- python3自动爬取网页资源并保存为epub电子书
- 最简单DIY基于STM32的远程控制电脑系统①(电容触摸+按键控制)
- 杂项 《转化生命的友谊》转化生命的良友
- java计算机毕业设计医院临床管理系统录屏源程序+mysql+系统+lw文档+远程调试