基于 Spring Boot 博客系统开发(七)

news/2024/5/21 3:42:35

基于 Spring Boot 博客系统开发(七)

本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿
基于 Spring Boot 博客系统开发(六)👈👈

后台公共代码抽取

添加访问后台模板页的方法,AdminController

@Controller
@RequestMapping("/admin")
public class AdminController {@RequestMapping("/")public String home(){return "admin/index";}@RequestMapping("/list")public String list(){return "admin/list";}@RequestMapping("/edit")public String edit(){return "admin/edit";}}

创建 include.html 用于存储公共部分代码,使用 th:fragment

抽取公共代码到 include 文件中
在这里插入图片描述

引用公共代码

index.html 整理后代码
在这里插入图片描述

list.html 整理后代码

在这里插入图片描述

edit.html 整理后代码,非公共代码需要保留

在这里插入图片描述

实现点击菜单高亮

基于上面公共代码抽取后,但是不同页面所需要公共代码需要进行调整,就需要主页面传递参数到公共代码模板中。
admin/index.html 页面中,传递了实参1值。

<th:block th:include="admin/include :: header-menu(1)" />

抽取页面 admin/include 中,可以定义形参tag。使用tag形参配合 th:classappend 添加样式,这里顺便修改了a标签链接。

<div th:fragment="header-menu(tag)" >
......这里省略<ul><li><a href="/admin/" class="waves-effect " th:classappend="${tag == 1?'active':''}"><i class="fa fa-dashboard" aria-hidden="true"></i><span> 仪表盘 </span></a></li><li ><a href="/admin/edit" class="waves-effect" th:classappend="${tag == 2?'active':''}"><i class="fa fa-pencil-square-o" aria-hidden="true"></i><span> 发布文章 </span></a></li><li><a href="/admin/list" th:classappend="${tag == 3?'active':''}"class="waves-effect"><iclass="fa fa-list" aria-hidden="true"></i><span> 文章管理 </span></a></li></ul>
......这里省略
</div>

实现效果,点击菜单高亮显示
在这里插入图片描述


http://www.mrgr.cn/p/06124774

相关文章

ES数据存储与查询基本原理

Elasticsearch&#xff08;ES&#xff09;简介 Elasticsearch&#xff08;ES&#xff09;是一个分布式、可扩展、近实时的搜索和分析引擎&#xff0c;它基于Lucene&#xff0c;设计用于云计算中&#xff0c;处理大规模文档检索和数据分析任务&#xff0c;常用于实现内部搜索引…

开源框架平台:功能优势多,助力数字化转型!

对于什么是开源框架平台,以及它的优势和特点,我们今天就一起来了解和探讨。伴随着科技越来越发达,低代码技术平台、开源框架平台逐渐在各中小型企业里获得重视和青睐,成为助力企业实现流程化办公,进入数字化转型的的有力武器。在众多服务商中,谁拥有市场竞争力,谁在服务…

配置orangepi5pro运行rknn版本的yolov5

配置orangepi5pro运行rknn版本的yolov5,使用npu进行目标检测.摘要 配置orangepi5pro运行rknn版本的yolov5,使用npu进行目标检测. 关键信息板卡:orangepi5pro 芯片:RK3588S 环境:rknn2 转换工具:rknn-tool-kit2:1.5.0 系统:ubuntu20.04原理简介 npu简介 NPU(Neural Processing …

双目相机标定流程(MATLAB)

一&#xff1a;经典标定方法 1.1OPENCV 1.2ROS ROS进行双目视觉标定可以得到左右两个相机的相机矩阵和畸变系数&#xff0c;如果是单目标定&#xff0c;用ROS会非常方便。 3.MATLAB标定&#xff08;双目标定&#xff09; MATLAB用来双目标定会非常方便&#xff0c;主要是为…

docker部署seata与客户端整合seata

微服务和seata的版本关系 1:docker pull seataio/seata-server拉取镜像 [root@WFWCS ~]# docker search seata NAME DESCRIPTION STARS OFFICIAL apache/seata-server Apach…

深入入IAEA底层LinkedList

✅作者简介&#xff1a;大家好&#xff0c;我是再无B&#xff5e;U&#xff5e;G&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;再无B&#xff5e;U&#xff5e;G-CSDN博客 目标&#xff1a; 1.掌握LinkedList 2.…

Django 静态文件管理与部署指南

title: Django 静态文件管理与部署指南 date: 2024/5/10 17:38:36 updated: 2024/5/10 17:38:36 categories:后端开发tags:WebOpt CDN加速 DjangoCompress Webpack StaticDeploy CICD-Tools SecStatic第一章:介绍 Django 静态文件的概念和重要性 在 Web 开发中,静态文件通常指…

windows10 资源管理器 卡死 底部任务栏不显示程序 点击底部任务栏两次会重启资源管理器继续卡死

故障存储段 ,类型 0事件名称: AppHangB1响应: 不可用Cab ID: 0 问题签名:P1: explorer.exeP2: 10.0.19041.1266P3: 418a6e83P4: a874P5: 134217728P6: P7: P8: P9: P10: 附加文件:\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE85A.tmp.WERInternalMetadata.xml\\?\C…

偏微分方程算法之混合边界条件下的差分法

目录 一、研究目标 二、理论推导 三、算例实现 四、结论 一、研究目标 我们在前几节中介绍了Poisson方程的边值问题&#xff0c;接下来对椭圆型偏微分方程的混合边值问题进行探讨&#xff0c;研究对象为&#xff1a; 其中&#xff0c;为矩形区域&#xff0c;为上的连续函数…

使用nmcli命令在各Linux系统上统一的配置网络

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; 使用nmcli命令在各Linux系统上统一的配置网络https://myweb.myskillstree.cn/123.html 你是否会遇到在不同的Linux系统中配置网络时&#xff0c;修改的配置文…

深入探索JavaScript中的structuredClone:现代深拷贝的解密指南

在 JavaScript 中,实现深拷贝的方式有很多种,每种方式都有其优点和缺点。今天介绍一种原生 JavaScript 提供的structuredClone实现深拷贝。 下面列举一些常见的方式,以及它们的代码示例和优缺点: 1. 使用 JSON.parse(JSON.stringify(obj)) 代码示例:function deepClone(ob…

keycloak~登录皮肤动态切换的尝试

keycloak的登录皮肤theme,可以设置领域全局的,或者每个客户端进行单独设置,这种设计是没有问题的,但有时,一个客户端可能有多种主题,这时,你只能再加个客户端,对应新的主题,但这样不方便日后的统计,因为很多统计维度都是以client为基础的,所以,我们需要在进入登录页…

基于TRIZ理论的锂电池生产工艺优化思路

在能源科技迅猛发展的今天&#xff0c;锂电池作为重要的储能元件&#xff0c;其生产工艺的优化与革新显得尤为关键。本文将基于TRIZ理论&#xff0c;探讨锂电池生产工艺的优化路径&#xff0c;以期提升能源产业的效率与环保性。 TRIZ&#xff0c;即发明问题解决理论&#xff0…

爆爽,英语小白怒刷 50 课!像玩游戏一样学习英语~

### 重点!!!(先看这) 1. 清楚自己学英语的`目的`, 先搞清楚目标,再行动2. 自身现在最需要的东西:`词汇量`?`口语`?还是`阅读能力`?3. 找对应的书籍,学习资料4. 往`兴趣靠拢`:网上有大量的推荐美剧学习、小说学习,不要被他们迷了眼,适合他们的不一定适合你,找到适合…

【数据结构】 二叉树的顺序结构——堆的实现

普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储 。 一、堆的概念及结构 父节点比孩子结点大 是大堆 父节点比孩子结点小 是小堆 堆的性质 堆中某…

如何在ArcGIS Pro中添加无标注的底图

在ArcGIS 3.0中,新建一个地图会自带两个图层,分别是 World Topographic Map 和 World _Hillshade,也就是世界地形图和世界山体阴影,这套底图的颜色和符号的使用都非常赏心悦目。 但是我们在制图时,有时候想利用这个底图,却不想使用地图中的标注。而这个标注是没办法通过简…

Google搜索广告怎么开户?谷歌广告开户投放引流技巧、账户搭建、谷歌ads广告推广投放策略 #搜索引擎 #谷歌广告#互联网营销

Google搜索广告开户步骤&#xff1a; 选择代理商&#xff1a;首先&#xff0c;您需要选择一个经验丰富、信誉良好的Google广告代理商。可以选择上海上弦来广告开户和代运营。 初步咨询&#xff1a;与代理商进行初步沟通&#xff0c;了解他们的服务内容、成功案例、收费标准等。…

PyQt 入门

Qt hello - 专注于Qt的技术分享平台 Python体系下GUI框架也多了去了&#xff0c;PyQt算是比较受欢迎的一个。如果对Qt框架熟悉&#xff0c;那掌握这套框架是很简单的。 一&#xff0c;安装 1.PyQt5 pip3 install PyQt5 2.Designer UI工具 pip3 install PyQt5-tools 3.UI…

JL-杰理芯片-认识TA的SDK的第一天

编写不同SDK的软件用宏定义进行包含,方便知道它的效果,也方便删除不用,更容易知道是什么模块的 原理图决定软件板级根据板子名称决定板子的配置 板级文件的选择不注释哪个就使用哪个

SOLIDWORKS参数化设计的作用

SOLIDWORKS参数化设计软件,主要解决加工制造型企业普遍存在的系列化产品设计周期长和出图效率低。重复工作多、人员工作强度大的问题。传统的设计模式下大规模定制型产品结构设计周期长,问题多,以及大量重复性工作让工程师疲于应对,这些严重阻碍了公司订单承接能力和技术创…