B046-cms01-后台搭建 界面修改 分页 GirdManager

news/2024/11/20 13:24:22/

目录

      • cms
      • 项目介绍
      • Maven
      • 跳转到后台首页
        • 视图解析器
        • 页面和静态资源准备
        • 资源分布
        • controller控制器
      • 跳转到文章展示页面
        • index.JSP
        • ArticleController
        • article.jsp
      • gridManager初体验和显示文章数据
      • 时间和是否启用显示
        • Article
        • article.jsp
      • 展示文章类型
        • ArticleServiceImpl
        • article.jsp
      • 按钮展示
      • 分页
        • 前端补充参数localPage和pageSize
        • PageQuery和ArticleQuery
        • PageBean
        • ArticleServiceImpl
        • ArticleMapper.xml

要做的3个模块,1.轮播图,2.文章展示,浏览次数,3,登录模块

文档,xmind,视频,代码工程,

cms

内容管理系统(Content Management System,CMS),是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。

项目介绍

见xmind和视频

Maven

介绍与联系

跳转到后台首页

视图解析器

	<!-- 4.视图解析器:统一处理【webmvc】 --><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><!-- 前缀 --><property name="suffix" value=".jsp"></property><!-- 后缀 --></bean>

页面和静态资源准备

/cms01/src/main/WebContent/WEB-INF/views/index.jsp
/cms01/src/main/WebContent/static/system

资源分布

在这里插入图片描述

controller控制器

可经过视图解析器跳转到jsp等页面

/*** @Description:后台可跳转的首页*/
@Controller
@RequestMapping("/system")
public class SystemController {/*** @Description:不加@responsebody,要走视图解析器跳转到后台首页*/@RequestMapping("/index")public String index(){return "index";}
}

跳转到文章展示页面

index.JSP

      		<ul class="app-menu"><li><a class="app-menu__item active" href="/system/article/index"><i class="app-menu__icon fa fa-dashboard"></i><span class="app-menu__label">文章管理</span></a></li></ul>

ArticleController

@Controller
@RequestMapping("/system/article")
public class ArticleController {@Autowiredprivate IArticleService service;/*** @Description:跳转到后台文章展示页*/@RequestMapping("/index")public String index(){return "article/article";}

article.jsp

/cms01/src/main/WebContent/WEB-INF/views/article/article.jsp

gridManager初体验和显示文章数据

对表格友好的小UI框架

应用:1.工程里引入支持文件,2.复制html和js代码到自己工程里,3.按要求的格式响应数据

<table id='table-demo-ajaxPageCode'></table>
			document.querySelector('#table-demo-ajaxPageCode').GM({gridManagerName: 'demo-ajaxPageCode',	//名字随意ajaxData: '/system/article/findAll',	//改成findAllajaxType: 'POST',supportAjaxPage: true,		//是否支持分页sizeData: [5,10,15,20],pageSize: 5,currentPageKey: "localPage",pageSizeKey: "pageSize",supportAdjust: false,supportDrag: false,columnData: [{key: 'title',align: "center",text: '文章标题'},{key: 'type',align: "center",text: '文章类型',template: function(cell, row, index, key){// 模板return cell.name;}},{key: 'url',align: "center",text: 'url'},{key: 'clickCount',align: "center",text: '点击量'},{key: 'createDate',align: "center",text: '日期'},{key: 'enable',align: "center",text: '是否启用',template: function(cell, row, index, key){// 模板//console.debug(cell) // enable属性对应的值//console.debug(row) // 一行数据的信息  是一个对象//console.debug(index) // 索引//console.debug(key) // key对应的字段return cell?"启用":"禁用";}},{key: 'id',align: "center",text: '操作 &nbsp;&nbsp;<a style="color:green" href="javascript:;">添加</a>',template: function(cell, row, index, key){// 模板return '<a style="color:red" href="javascript:;">删除</a>&nbsp;&nbsp;'+'<a style="color:blue" href="javascript:;">修改</a>';}}]});

ArticleController

		// 需要totals:15   data: listList<Article> list = service.findAll();Map<String, Object> map = new HashMap<>();// 总条数map.put("totals", list.size());// 数据map.put("data", list);return map;

时间和是否启用显示

Article

@Data
public class Article {//主键idprivate Long id;//文章标题private String title;//文章url地址private String url;//文章类型IDprivate Long typeId;//文章类型private ArticleType type;//点击次数private Integer clickCount = 0;//文章内容private String content;//创建时间@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")private Date createDate = new Date();//默认启用状态private Boolean enable;
}

article.jsp

					{key: 'enable',align: "center",text: '是否启用',template: function(cell, row, index, key){// 模板//console.debug(cell) // enable属性对应的值//console.debug(row) // 一行数据的信息  是一个对象//console.debug(index) // 索引//console.debug(key) // key对应的字段return cell?"启用":"禁用";}},

展示文章类型

ArticleServiceImpl

		List<Article> list = mapper.findAll();for (Article article : list) {// 先获取typeIdLong typeId = article.getTypeId();// 根据typeId查询文章类型表ArticleType at = typeMapper.findArticleTypeByTypeId(typeId);// 把文章类型对象set到article中article.setType(at);}

article.jsp

					{key: 'type',align: "center",text: '文章类型',template: function(cell, row, index, key){// 模板   return cell.name;}},

按钮展示

					{key: 'id',align: "center",text: '操作 &nbsp;&nbsp;<a style="color:green" href="javascript:;">添加</a>',template: function(cell, row, index, key){// 模板return '<a style="color:red" href="javascript:;">删除</a>&nbsp;&nbsp;'+'<a style="color:blue" href="javascript:;">修改</a>';}}

分页

前端补充参数localPage和pageSize

			document.querySelector('#table-demo-ajaxPageCode').GM({gridManagerName: 'demo-ajaxPageCode',	//名字随意ajaxData: '/system/article/findAll',	//改成findAllajaxType: 'POST',supportAjaxPage: true,		//是否支持分页sizeData: [5,10,15,20],pageSize: 5,currentPageKey: "localPage",pageSizeKey: "pageSize",supportAdjust: false,supportDrag: false,columnData: [

PageQuery和ArticleQuery

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageQuery {// 当前页private Integer localPage;	// 每页显示条数private Integer pageSize;// 返回的是limit中的第一个参数值public Integer getBegin(){return (this.localPage-1)*this.pageSize;}
/**  * @Description:用来添加高级查询参数*/
public class ArticleQuery extends PageQuery{}

PageBean

@Data
public class PageBean<T> {// 总条数private Integer totals = 0;						//没有初始化可能会报空指针// 数据private List<T> data = new ArrayList<T>();		//没有初始化可能会报空指针

ArticleServiceImpl

	@Overridepublic PageBean<Article> findAll(ArticleQuery aq) {// 查询总条数Integer count = mapper.findCount(aq);if(count==0){return new PageBean<>();}List<Article> list = mapper.findAll(aq); // 分页之后的for (Article article : list) {// 先获取typeIdLong typeId = article.getTypeId();// 根据typeId查询文章类型表ArticleType at = typeMapper.findArticleTypeByTypeId(typeId);// 把文章类型对象set到article中article.setType(at);}return new PageBean<Article>(count,list);}

ArticleMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.itsource.mapper.ArticleMapper"><select id="findAll" resultType="article">select * from t_article limit #{begin}, #{pageSize}</select>	<!-- Integer findCount(ArticleQuery aq); --><select id="findCount" resultType="int">select count(id) from t_article </select></mapper>

http://www.ppmy.cn/news/431743.html

相关文章

【FPGA入门】第二篇、ISE软件的使用

目录 第一部分、新建工程 第二部分、添加顶层文件 第三部分、添加管脚约束文件 第四部分、生成bit文件 第五部分、连接开发板&#xff0c;下载bit文件 第六部分、总结 第一部分、新建工程 第一步、如果提前建立了工程文件夹&#xff0c;那么这里就需要去掉生成子文件夹的…

如何在Mac电脑中设置启动台的快捷键?

Mac电脑中的启动台&#xff0c;是Mac系统存放所有应用程序的地方。所以在日常使用电脑的过程中&#xff0c;我们会使用很多次的启动台&#xff0c;如何设置启动台的快捷键&#xff1f;下面分享在Mac电脑中设置启动台快捷键的操作步骤。 1、打开Mac电脑中的系统偏好设置&#x…

Windows系统常用快捷键以及设置

目录 winr输入“desk.cpl”快速调出屏幕分辨率、显卡详情刷新率 快速调出投影设置 Win7win10自带截图工具 -快捷键 调出搜索框 查看系统的激活情况 winr输入“desk.cpl”快速调出屏幕分辨率、显卡详情刷新率 快速调出投影设置 Win7win10自带截图工具 -快捷键 调出搜索框 …

计算机键盘怎么换键,电脑键盘快捷键怎么更改

许多用户朋友想更改自己电脑的快捷键?下面学习啦小编整理了解决更改电脑快捷键的方法&#xff0c;希望能帮到大家O(∩_∩)O哈哈~ 更改电脑快捷键的方法 点击电脑屏幕的最左下角的“开始菜单”&#xff0c;此时弹出总程序菜单&#xff0c;如图&#xff1a; 点击【所有程序】&am…

计算机快捷键怎么设置方法,打开软件快捷键怎么设置 电脑软件快捷键设置教程-电脑教程...

当我们想打开某软件时&#xff0c;往往会通过双击图标来实现&#xff0c;或者将常用软件固定在任务栏&#xff0c;其实&#xff0c;我们还可以这样做&#xff0c;对常用的一些软件设置快捷键&#xff0c;方便使用和启动&#xff0c;那么今天小编就为大家带来如何设置常用软件启…

怎么更改计算机快捷键,如何重新设置电脑中的所有快捷键

无法重新设置电脑系统中的所有快捷键&#xff0c;只能分别设置一些打开软件、功能的快捷键&#xff0c;一些基础操作的快捷键是无法重新设置的。以下以输入法的快捷键&#xff0c;打开应用程序的快捷键为例&#xff0c;介绍调整系统调整快捷键的方法。以下是详细介绍&#xff1…

快捷输入法怎么设置

快捷键可以帮助我们在工作时提高工作效率&#xff0c;搜狗输入法就有这一项功能&#xff0c;那么快捷输入法怎么设置呢&#xff1f; 前言 快捷键可以帮助我们在工作时提高工作效率&#xff0c;我们常用的输入法&#xff0c;比如搜狗输入法&#xff0c;也有快捷键这一项功能&am…

电脑/计算机快捷键

一、常见用法  F1 显示当前程序或者windows的帮助内容。   F2 当你选中一个文件的话&#xff0c;这意味着“重命名”   F3 当你在桌面上的时候是打开“查找&#xff1a;所有文件” 对话框   F10或ALT 激活当前程序的菜单栏   F11 所打开的网页(退出&#xff09;全…