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

news/2024/10/23 23:30:01/

基于 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.ppmy.cn/news/1461068.html

相关文章

【云原生】Kubeadm搭建K8S

一、部署Kubernetes 实验环境 服务器主机名IP地址主要组件k8s集群master01 etcd01master01192.168.10.100kube-apiserver kube-controller-manager kube-schedular etcdk8s集群node01 etcd02node01192.168.10.101kubelet kube-proxy docker flannelk8s集群node02 etcd03nod…

容器组件:角标组件,纵向拖动组件(HarmonyOS学习第四课【4.2】)

Badge&#xff08;角标组件&#xff09; 可以附加在单个组件上用于信息标记的容器组件。 说明 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明 子组件类型&#xff1a;系统组件…

物理层——计算机网络学习笔记二

目录 物理层的基本概念 数据通信的基础知识 物理层下面的传输媒体 信道复用技术 图片大部分来源于谢希仁《计算机网络》教材配套的ppt。 这一样都是介绍一下概念性的东西&#xff0c;了解一下就行&#xff0c;就重要性而言不如后面的内容。 物理层的作用&#xff1a;考虑如何才…

国产化开源鸿蒙系统智能终端RK3568主板在电子班牌项目的应用

国产化开源鸿蒙系统智能终端主板AIoT-3568A、人脸识别算法的的电子班牌方案可支持校园信息发布、人脸识别考勤、考场管理、查询互动等多项功能&#xff0c;助力学校在硬件上实现信息化、网络化、数字化&#xff0c;构建“学校、教师、学生”三个维度的智慧教育空间。 方案优势 …

【vue+vue-treeselect】根据指定字段,如isLeaf(是否末级节点),设置只允许末级节点可以选

1、当项目有特殊要求&#xff0c;必须根据某个字段的值去判断&#xff0c;是否节点可以选&#xff0c;即使已经是末级节点了&#xff0c;还是需要根据字段判断是否禁用 &#xff08;1&#xff09; :flat"true"一定要设置 (2)获取数据源的时候&#xff0c;设置下禁用…

HIVE大数据平台SQL优化分享

相信很多小伙伴在面试的时候,必然跳不过去的一个问题就是SQL脚本的优化,这是很多面试官爱问的问题,也是可以证明你实力进阶的一个重要的能力。 下面给大家分享一个重量级的大数据行业sql技能---hive大数据平台SQL优化。 此文章是大数据平台运维组从多维度参数(CPU,内存,…

【C#】C# 中 int , int64 和 long的区别,C# 中int , int64 和 long 在Win x64 和x86区别

文章目录 1 int&#xff0c;int64和long区别2 在Win x64 和x86区别 1 int&#xff0c;int64和long区别 在C#中&#xff0c;int&#xff0c;int64和long分别代表不同的整数数据类型&#xff1a; int代表32位有符号整数&#xff0c;取值范围从-2,147,483,648到2,147,483,647。i…

Python - 金三银四心路历程 之 数据结构与算法 刷题

目录 一.引言 二.心路历程 三.刷题经历 四.刷题历程 五.总结 一.引言 <夜深人静写算法> 是 23 年 12 月底博主打算跳槽时开始做刷题准备做的专栏&#xff0c;前后准备了大约一个月&#xff0c;刷题完毕后简单准备了项目和简历后就开始加入找工作大军了&#xff0c;最…