LayUi之手风琴的趣味案例

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于LayUi的相关操作吧

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

一.手风琴是什么

二.手风琴在什么时候使用(常见使用场景)  

三.怎么完成手风琴与数据库的数据交互 

效果展示

项目层级

1. 创建数据库:

2.编写实体类

3.工具类

4.dao层

5.servlet

6.jsp界面

四.所用图片


一.手风琴是什么

在前端开发中,框架中的手风琴(Accordion)是一种常见的UI组件,用于创建可折叠的内容面板。它通常由多个面板组成,每个面板包含一个标题和一个可隐藏/展开的内容区域

  • 手风琴面板只有一个面板可以处于展开状态,其他面板处于折叠状态。用户可以点击面板的标题部分,切换面板的展开和折叠状态,以显示或隐藏相应的内容区域
  • 框架中的手风琴通常提供了丰富的配置选项和自定义样式,以适应不同的设计需求和交互行为。它可以用于创建导航菜单、信息折叠、内容面板等各种场景,提供了一种可视化和简洁的方式来展示和切换页面的内容

二.手风琴在什么时候使用(常见使用场景)  

  • 1. 导航菜单:
    • 手风琴可以用于创建具有层级结构的导航菜单。每个菜单项可以是一个手风琴面板,展开后显示其子菜单项
  • 2. 内容折叠:
    • 手风琴可以用于在页面中折叠或展开大段内容,以便用户根据需要查看相关信息。这在网页表单、说明文档或用户个人资料等场景中特别有用
  • 3. FAQ页面:
    • 手风琴可以用于创建Frequently Asked Questions(常见问题)页面,其中每个问题是一个手风琴面板。用户可以点击问题标题以展开或折叠问题的答案
  • 4. 展示面板:
    • 手风琴可以用于创建可扩展的展示面板,用于显示不同内容或选项。例如,在产品列表或服务功能中,可以使用手风琴来呈现每个产品或功能的详细信息
  • 5. 折叠侧边栏:
    • 手风琴可以用于创建折叠式侧边栏,以节省页面空间。用户可以点击手风琴面板来展开或折叠侧边栏部分,以显示或隐藏相关内容或功能

三.怎么完成手风琴与数据库的数据交互 

效果展示

项目层级

  • 1. 创建数据库:

    • 首先,需要使用适当的数据库管理系统(如MySQL、MongoDB等)创建一个数据库,并设计适当的表结构来存储手风琴组件所需的数据【这里使用的是MySQL】
  • 2.编写实体类

    • package com.wh.entity;
      
      public class Accordion {
      private String title;
      private String aname;
      private String ainfo;
      private String aimg;
      
      public Accordion() {
      	// TODO Auto-generated constructor stub
      }
      
      public Accordion(String title, String aname, String ainfo, String aimg) {
      	super();
      	this.title = title;
      	this.aname = aname;
      	this.ainfo = ainfo;
      	this.aimg = aimg;
      }
      
      public String getTitle() {
      	return title;
      }
      
      public void setTitle(String title) {
      	this.title = title;
      }
      
      public String getAname() {
      	return aname;
      }
      
      public void setAname(String aname) {
      	this.aname = aname;
      }
      
      public String getAinfo() {
      	return ainfo;
      }
      
      public void setAinfo(String ainfo) {
      	this.ainfo = ainfo;
      }
      
      public String getAimg() {
      	return aimg;
      }
      
      public void setAimg(String aimg) {
      	this.aimg = aimg;
      }
      
      @Override
      public String toString() {
      	return "Accordion [title=" + title + ", aname=" + aname + ", ainfo=" + ainfo + ", aimg=" + aimg + "]";
      }
      
      
      }
      
  • 3.工具类

    • 实体类,工具类,配置文件等在之前已经全部展示过,在此有不懂的小伙伴,可以点击下方链接查看 👇

      LayUi之树形结构的详解(附有全案例代码)http://t.csdn.cn/yvL1t

  • 4.dao层

    • package com.wh.dao;
      
      import java.util.ArrayList;
      import java.util.List;
      
      import com.wh.entity.Accordion;
      import com.zking.util.BaseDao;
      import com.zking.util.BuildTree;
      import com.zking.util.PageBean;
      import com.zking.util.TreeVo;
      
      public class AccordionDao extends BaseDao<Accordion>{
      	//查询所有
      		public List< Accordion> list(  Accordion  accordion, PageBean pageBean) throws Exception {
      	  String sql="select * from accordion";
      			return super.executeQuery(sql,  Accordion.class, pageBean);
      		}
      		
      		public static void main(String[] args) {
      			AccordionDao a = new AccordionDao();
      			Accordion accordion = new Accordion();
      			try {
      				List<Accordion> list = a.list(accordion, null);
      				System.out.println(list);
      			} catch (Exception e) {
      				e.printStackTrace();
      			}
      		}
      	
      	
      //	//查询所有
      //	public List<TreeVo< Module>> menus(  Module  module, PageBean pageBean) throws Exception {
      //		List<TreeVo<Module>> menus = new ArrayList<>();
      //		List<Module> list = this.list(module, pageBean);
      //		for (Module m : list) {
      //			TreeVo<Module> tv = new TreeVo<>();
      //			tv.setId(m.getId()+"");
      //			tv.setParentId(m.getPid()+"");
      //			tv.setText(m.getName());
      //			menus.add(tv);
      //		}
      		return menus;
      //		return BuildTree.buildList(menus, "-1");//-1是顶级节点的id
      //	}
      		
      		
      }
      
  • 5.servlet

    • package com.wh.web;
      
      import java.util.List;
      
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;
      
      import com.wh.dao.AccordionDao;
      import com.wh.entity.Accordion;
      import com.zking.framework.ActionSupport;
      import com.zking.framework.ModelDriver;
      import com.zking.util.PageBean;
      import com.zking.util.ResponseUtil;
      import com.zking.util.TreeVo;
      
      public class AccordionAction extends ActionSupport implements ModelDriver< Accordion>{
      private  Accordion  accordion = new  Accordion();
      private  AccordionDao ad = new  AccordionDao();
      
      	public void list(HttpServletRequest req, HttpServletResponse resp) {
      				try {
      					List<Accordion> list = ad.list(accordion, null);
      					ResponseUtil.writeJson(resp, list);
      				} catch (Exception e) {
      					e.printStackTrace();
      				}
      	}
      	@Override
      	public  Accordion getModel() {
      		return  accordion;
      	}
      
      }
      
  • 6.jsp界面

    • <%@ page language="java" contentType="text/html; charset=UTF-8"
      	pageEncoding="UTF-8"%>
      <html>
      	<head>
      	<%@include file="common/head.jsp"%>
      		<meta charset="utf-8">
      		<title>手风琴案例</title>
      	</head>
      	<body >
      		<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
      		  <legend>🐻‍❄️童年大回忆🐻‍❄️</legend>
      		</fieldset>
      		
      		 
      		<div class="layui-collapse" lay-accordion=""  id ="accordion">
      		
      		
      		
      		  <div class="layui-colla-item"  >
      		    <h2 class="layui-colla-title">文豪</h2>
      		    <div class="layui-colla-content layui-show">
      		    
      		       <div class="layui-collapse" lay-accordion="">
              <div class="layui-colla-item">
                <h2 class="layui-colla-title">唐代</h2>
                <div class="layui-colla-content layui-show">
                  
                  
                </div>
                
              </div>
      		    </div>  
      		    </div>
      		  	</div>
      		  	
      		  	
      		  	
      			</div>
      			
      			
      			
      		
      		
      		
      		
      		
      		<script>
      		layui.use(['element', 'layer'], function(){
      		  var element = layui.element;
      		  var layer = layui.layer;
      		  var  $ = layui.$;
      		    $.ajax({
      				 url:"accordion.action?methodName=list",
      		 		dataType:'json',
      		 		method: 'post',
      				success: function(data) {
      					console.info(data)
      				var content=' ';
      					
      					$.each(data,function(i,n){
      						content+='<div class="layui-colla-item"> ';
      						content+='<h2 class="layui-colla-title">'+n.aname+'</h2> ';
      						content+='<div class="layui-colla-content"><img src="'+n.aimg+'" style="width:64px; height:64px; margin-right:100px;" />'+n.ainfo+'</div> ';
      						content+=' </div>';
      						
      					
      					})
      						
      					
      					$("#accordion").html(content);
      					 element.render(); 	
      				}
      			 })  
      		  
      		  
      		  
      		  
      		  //监听折叠
      		  element.on('collapse(test)', function(data){
      		    layer.msg('展开状态:'+ data.show);
      		  });
      		});
      		</script>
      	</body>
      </html>

四.所用图片

      好啦,今天的分享就到这了,希望能够帮到你呢!😊😊          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/41177.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

业务开发“银弹” ——低代码开发平台

一、现状 低代码开发平台要让每个人&#xff0c;包括开发者和普通业务人员&#xff0c;都能够成为企业数字化过程中的主导者和构建者&#xff01;让普通人更容易上手&#xff01; 基于这一目标&#xff0c;应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

AD从原理图到PCB超详细教程

AD超详细教程 前言一、建立一个工程模板二、原理图1.设计原理图。2.使用AD自带库和网上开源原理图库3.画原理图库4.编译原理图 三、PCB1.确定元器件尺寸大小2.绘制PCB Library①使用元器件向导绘制元件库②原理图与PCB的映射 3.绘制PCB①更新PCB②调整元件位置③布线④漏线检查…

代理模式【静态代理和动态代理实现业务功能扩展】

静态代理 我们在不修改业务的情况下想要给它增加一些功能&#xff0c;这就需要使用代理模式。我们不会在原有业务上直接修改&#xff0c;为了避免修改导致程序不可逆转的破坏。三种角色&#xff1a;抽象角色-接口、真实角色-实现类和代理角色-代理类。真实角色和代理角色继承的…

raid5故障导致上层文件系统不可用的服务器数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器上有两组分别由4块SAS硬盘组建的raid5磁盘阵列&#xff0c;这两组raid5阵列划分LUN并组成LVM结构&#xff0c;格式化为EXT3文件系统。 服务器故障&#xff1a; 一组raid5阵列上的一块硬盘未知原因离线&#xff0c;热备盘上线替换离线…

Redis远程字典服务

目录 前言 1.NoSQL 1.1NOSQL和关系型数据库比较 1.2非关系型数据库的优势 1.3关系型数据库的优势 ​编辑 2.主流的NOSQL产品 键值(Key-Value)存储数据库 列存储数据库 文档型数据库 图形(Graph)数据库 3.Redis简介 redis的应用场景 4.命令操作 4.1字符串类型 s…

Linux内核的任务:

硬件与软件之间的中间层&#xff1a;内核在技术层面上充当硬件和软件之间的中间层&#xff0c;负责将应用程序的请求传递给硬件&#xff0c;并处理硬件设备和组件的寻址和操作。 应用程序的接口&#xff1a;对于应用程序来说&#xff0c;内核是它们与硬件之间的接口。应用程序通…

vscode 端口转发实现端口映射,实现端口自由

用vscode连接server进行开发&#xff0c; 是非常方便的&#xff0c;但很多时候&#xff0c;server的端口开放的很有限&#xff0c;那么就可以利用vscode进行端口映射 举一个应用场景&#xff1a; 先通过A利用vscode 连接B&#xff0c;然后再vscode 的port窗口进行端口转发&…

每日一刷——替换空格

题目描述&#xff1a; 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 我的思路&#xff1a;从左向右循环遍历字符串&#xff0c;定义一个空串。如果遇到空格&#xf…

【广州华锐互动】VR地铁消防逃生路线演练系统

随着城市轨道交通的不断发展&#xff0c;事故应急演练的重要性也越来越受到重视。而VR技术的应用&#xff0c;为地铁消防逃生路线演练带来了许多亮点&#xff0c;包括以下几个方面&#xff1a; 首先&#xff0c;VR技术可以提供高度真实的模拟场景。在传统的事故应急演练中&…

Lottie源代码解析

Lottie-iOS Lottie动画的原理&#xff1a; 一个完整动画View&#xff0c;是由很多个子Layer 组成&#xff0c;而每个子Layer主要通过shapes&#xff08;形状&#xff09;&#xff0c;masks&#xff08;蒙版&#xff09;&#xff0c;transform三大部分进行动画。Lottie框架通过…

【Linux】内存使用相关

free 命令 查看内存大小 free -g :G单位 free -h : 可读性较高较理解 free -m : MB单位 total: 总内存used: 正在运行的进程使用的内存(used total – free – buff/cache)free: 未使用的内存 (free total – used – buff/cache)shared: 多个进程共享的内存buffers: 内存保留…

linux安装mysql以及使用navicat连接mysql

目录 一、下载mysql 二、安装mysql 三、使用Navicat连接MySQL 四、常见问题 1、启动服务时报错 Failed to start mysql.service: Unit not found. 的解决方法。 2、登录过程出现&#xff1a;access denied for user’root’‘localhost’(using password:Yes) 的解决方…

常见的网络攻击

​ 1.僵木蠕毒 攻击业内习惯把僵尸网络、木马、蠕虫、感染型病毒合称为僵木蠕毒。从攻击路径来看&#xff0c;蠕虫和感染型病毒通过自身的能力进行主动传播&#xff0c;木马则需要渠道来进行投放&#xff0c;而由后门木马&#xff08;部分具备蠕虫或感染传播能力&#xff09;构…

一本通1919:【02NOIP普及组】选数

这道题感觉很好玩。 正文&#xff1a; 先放题目&#xff1a; 信息学奥赛一本通&#xff08;C版&#xff09;在线评测系统 (ssoier.cn)http://ybt.ssoier.cn:8088/problem_show.php?pid1919 描述 已知 n 个整数 x1,x2,…,xn&#xff0c;以及一个整数 k&#xff08;k&#…

Flutter——最详细(NavigationRail)使用教程

NavigationRail 简介 一个 Material Design 小部件&#xff0c;旨在显示在应用程序的左侧或右侧&#xff0c;以便在少量视图&#xff08;通常在三到五个视图之间&#xff09;之间导航。 使用场景&#xff1a; 通过Row属性&#xff0c;左侧或右侧菜单栏按钮 属性作用onDestinati…

Excel之VLOOKUP()函数介绍

Excel之VLOOKUP()函数介绍 Excel的VLOOKUP函数语法&#xff1a; VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 参数说明&#xff1a; lookup_value&#xff1a;要查找的值或要比较的值。 table_array&#xff1a;包含要在其中进行查找的数据表的区…

[ 容器 ] Docker 基本管理

目录 一、Docker 概述1.1 Docker 是什么&#xff1f;1.2 Docker 的宗旨1.3 容器的优点1.4 Docker 与 虚拟机的区别1.5 容器在内核中支持的两种技术namespace的六大类型 二、Docker核心概念2.1 镜像2.2 容器2.3 仓库 三、安装 Docker四、docker 镜像操作五、 Docker 容器操作总结…

如何录音转文字:探寻声音的文字之舞

随着科技的飞速进步&#xff0c;人们对于信息的传递和记录变得越发便捷。在这个数字化时代&#xff0c;录音转文字技术无疑是一颗璀璨的明珠&#xff0c;它让声音和文字在交织中跳跃&#xff0c;为我们带来了新的感知和体验。在这篇文章中&#xff0c;我们将深入探讨录音转文字…

Python实现word简历中图片模糊

Python实现word简历中照片模糊——保护个人隐私的有效方法 一、引言背景 在现代招聘流程中&#xff0c;电子简历成为了主要的招聘方式之一。然而&#xff0c;简历中包含的个人信息往往涉及隐私问题&#xff0c;特别是照片。为了保护求职者的个人隐私和数据安全&#xff0c;许多…

Stable Diffusion生成图片参数查看与抹除

前几天分享了几张Stable Diffusion生成的艺术二维码&#xff0c;有同学反映不知道怎么查看图片的参数信息&#xff0c;还有的同学问怎么保护自己的图片生成参数不会泄露&#xff0c;这篇文章就来专门分享如何查看和抹除图片的参数。 查看图片的生成参数 1、打开Stable Diffus…