当前位置: 首页 > 编程日记 > 正文

AdminLTE的使用

官方文档link
1.AdminLTE的必要配置文件

<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.5 --> <link rel="stylesheet" href="${ctx}/assets/plugins/bootstrap/css/bootstrap.min.css"> <!-- Font Awesome --> <link rel="stylesheet" href="${ctx}/assets/font/font-awesome/4.5.0/css/font-awesome.min.css"> <link rel="stylesheet" href="${ctx}/assets/font/Hui-iconfont/1.0.7/iconfont.css"> <!-- Theme style --> <link rel="stylesheet" href="${ctx}/assets/css/AdminLTE.css"> <!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. --> <link rel="stylesheet" href="${ctx}/assets/css/skins/_all-skins.min.css">

 <script type="text/javascript" src="${ctx}/assets/plugins/h-ui/js/H-ui.admin.js"></script>
 <!-- AdminLTE App -->
 <script src="${ctx}/assets/js/app-LTE.min.js"></script>

2.自定义主题样式

(1)在body中设置class。

<body class="hold-transition skin-blue sidebar-mini">

skin-blue:主题颜色,如果引入了_all-skins.min.css,有很多颜色可以选择,如左图,设置为skin-blue默认就为右图的主题样式。

        

sidebar-mini:在AdminLTE.css中可以找到。

   

(2)wrapper设置: AdminLTE.css

<div class="wrapper"><header class="main-header"></header><aside class="main-sidebar"></aside><section class="content-wrapper"></section>
</div>

   

  header设置:放在header标签里。

<!- - Logo - ->
<a href="index2.html" class="logo"> 
<!-- mini logo for sidebar mini 50x50 pixels --><span class="logo-mini"><img alt="" src="${ctx}/assets/img/logo.png" width="40px" height="40px"></span><span class="logo-lg">xxx后台管理系统</span>
</a>
<!- - Header Navbar - ->
<nav class="navbar navbar-static-top" role="navigation"><!-- Sidebar toggle button--><a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button"><span class="sr-only">Toggle navigation</span></a><!-- Navbar Right Menu --><div class="navbar-custom-menu"><ul class="nav navbar-nav"><!-- User Account: --><li class="dropdown user user-menu"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="${ctx}/assets/img/user.png" class="user-image" alt="User Image"><span class="hidden-xs">${user.name}</span></a><ul class="dropdown-menu"> <!-- User image --><li class="user-header"><img id="user-header" src="${ctx}/assets/img/user.png" class="img-circle" alt="User Image"><p>${user.name}</p></li><!--Menu Body--> <li class="user-body"> <div class="col-xs-4 text-center"> <a href="#">Followers</a> </div> <div class="col-xs-4 text-center"> <a href="#">Sales</a> </div> <div class="col-xs-4 text-center"> <a href="#">Friends</a> </div> </li> <!-- Menu Footer--><li class="user-footer"><div class="pull-left"><a id="systemsettingBtn" href="javascript:void(0)" class="btn btn-default btn-flat">修改密码</a></div><div class="pull-right"><a href="${ctx}${apath}/logout" class="btn btn-default btn-flat">注销</a></div></li></ul></li><!-- Control Sidebar Toggle Button --><li><a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a></li></ul></div>
</nav>

header效果如下图所示,点击sidebar toggle button,logo-lg隐藏,logo-mini显示,如右图。

    

aside设置:放在aside标签里。

<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
<section class="sidebar"><!-- search form --><form action="#" method="get" class="sidebar-form"><div class="input-group"><input type="text" name="q" class="form-control" placeholder="搜索..."><span class="input-group-btn"><button type="submit" name="search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i></button></span></div></form> <!-- sidebar menu: : style can be found in sidebar.less --><ul class="sidebar-menu"></ul><script id="left-sidebarTmp" type="text/html"><li class="header ad-click">导航</li><li class="active treeview"><a _href="${ctx}${apath}/dashboard" href="javascript:void(0)" data-title="首页"><i class="fa fa-dashboard"></i><span>首页</span><i class="fa fa-angle-left pull-right"></i></a></li>{{each sub1 as value i}}   //sub1 对应js代码中的 sub1 .<li class="treeview"><a {{if value.url}}_href="{{value.url}}"{{/if}} href="javascript:void(0)" data-title="{{value.name}}"><i class="fa {{value.ico}}"></i><span>{{value.name}}</span><i class="fa fa-angle-left pull-right"></i></a><ul class="treeview-menu">{{each value.sub as value1 i1}}   //对应 rootList[i].sub<li><a {{if value1.url}}_href="{{value1.url}}"{{/if}} href="javascript:void(0)" data-title="{{value1.name}}"><i class="fa {{value1.ico}}"></i>{{value1.name}}</a></li>{{/each}}</ul></li>{{/each}}</script></section></aside>
<script>function sloveSliderData (list, pid){var retList = [ ];var len = list.length;if (len > 0){for (var i = 0; i < len; i++){var x = list[i];if (x.pid == pid)  {var node = {};node.name = x.name;if (x.url == undefined || x.url == null || x.url == ""){node.url = null;}else{node.url = "${ctx}${apath}/page/" + x.url;}node.ico = x.ico;node.pid = x.pid;node.id = x.id;retList.push (node);}else{  }}}return retList;}$.HTTP.list ({url : "${ctx}${apath}/permission/list",success : function (list, pageinfo) {var rootList = [ ];rootList = sloveSliderData (list, 0);  //根据根菜单的pid为0,挑选出根菜单if (list.length > 0){for (var i = 0; i < rootList.length; i++){rootList[i].sub = sloveSliderData (list, rootList[i].id); //根据pid为0挑选出的根菜单的id,作为子菜单的pid
                  }}//组装数据源var sidebardata ={sub1 : rootList};console.log(sidebardata);//渲染菜单数据var dt = template("left-sidebarTmp", sidebardata);     //artTemplate方法$("#left-sidebar").html(dt);}});
</script>

注意:

${ctx}${apath}/permission/list接口的数据在数据库中手动添加,java后台有代码将数据存入这个接口。数据库字段与js代码所需的字段对应一致。

 经过js处理过的sidebardata:

成功后sidebar显示如下图所示:

 content设置:放在section标签里。

<!- - content - ->
<section class="content-wrapper"><div id="Hui-tabNav" class="Hui-tabNav "><div class="Hui-tabNav-wp"><ul id="min_title_list" class="acrossTab cl" style="padding-left: 6px;"><li class="active"><span title="首页" data-href="${ctx}${apath}/dashboard">首页</span><em></em></li></ul></div></div><div id="iframe_box" class="Hui-article"><div class="show_iframe"><div style="display: none" class="loading"></div><iframe scrolling="yes" frameborder="0" src="${ctx}${apath}/dashboard"></iframe></div></div>
</section>

点击sidebar的链接,对应的页面都会在iframe_box中显示出来。

转载于:https://www.cnblogs.com/cryst/p/6001364.html

相关文章:

Linux sendmail发送邮件失败诊断案例(一)

在新服务器上测试sendmail发送邮件时&#xff0c;发现邮件发送不成功&#xff0c;检查日志文件发现如下错误&#xff08;Notice&#xff1a;由于涉及公司服务器&#xff0c;邮箱等&#xff0c;故下面hostname、邮箱地址等信息使用xxx代替&#xff09; tail -40 /var/log/maill…

CentOS 安装Python3

# 基于Linux的 Python3 环境的安装 最近买了一台centOS 阿里云轻量级服务器 自带Python2 准备安装Python3.6 版本的 ## Step * 1 查看当前版本python 的路径 使用以下命令,以便后面安装完毕 建立软链接 > which python 正常情况下会显示python 路径&#xff0c;例如…

某米浏览器黑名单文件破解

“粗粮系统自带浏览器的网址黑名单提取。”某米手机作为高性价比的代表&#xff0c;比起菊厂及OV厂妹风手机&#xff0c;向来被我高看一眼&#xff0c;毕竟雷布斯也是我等码农的典范&#xff0c;以至于我都买过好几件粗粮的产品。虽然它的各个应用&#xff0c;包括系统&#xf…

函数的四种调用模式.上下文调用.call.apply

闭包:函数就是一个闭包,一个封闭的作用域; 返回函数,要返回多个函数就用一个对象封装一下,立即执行函数return回调函数JS动态创建的DOM,不会被搜索引擎抓取,对SEO不友好./*window的name属性*/function fn(){ console.log(this.name);} fn.call({name:"zhangsan"});//…

IOC和DI(转)

1、IoC(Inversion of Control)控制反转和 DI(Dependency Injection)依赖注入 首先想说说IoC&#xff08;Inversion of Control&#xff0c;控制倒转&#xff09;。这是spring的核心&#xff0c;贯穿始终。所谓IoC&#xff0c;对于spring框架来说&#xff0c;就是由spring来负责…

生成公钥链接github

# 生成公钥 连接Git### 1 检查本机是否有公钥 > cd ~/.ssh### 2 如果有的话 直接使用 不要随便删除电脑公钥 没有的话进行生成 生成如下 id_rsa 是 私钥 id_rsa.pub 是公钥 ### 3 生成公钥命令如下 邮箱是你的邮箱地址 终端会提示输入密码 可以以回车带过 如果设置密码…

精确哈克,以贪婪为基础的欺诈式引流法

“ 一种seo手段探讨。”前一段时间&#xff0c;有朋友在后台留言&#xff0c;让我测评一个网站上的信用卡号码生成器&#xff1a;我兴致勃勃&#xff0c;以为是什么黑科技出现了。打开网站&#xff0c;一股熟悉的wordpress风迎面飘来&#xff0c;伴随着风骚的黑色风味。多点击几…

HTML 基础知识(特殊字符的转义)

1. body、head&#xff08;meta&#xff09; <body></body>标签的常见属性&#xff1a; bgcolor&#xff1a;整个页面的背景&#xff1b;text&#xff1a;设置文本颜色link&#xff1a;设置连接颜色&#xff08;&#xff09;&#xff0c;vlink&#xff1a;已经访问…

1 组件化的了解

组件化 概念:讲一个单一的工程的项目&#xff0c;分解成为各个独立的组件&#xff0c;然后按照某一种方式&#xff0c;任意的组织成一个拥有完整业务逻辑的工程 优势 组件的独立–> 独立编写&#xff0c;独立编译&#xff0c;独立运行&#xff0c;独立测试资源的重用–&g…

WebView通过loadDataWithBaseURL加载本地页面卡死

最近开发遇到一个使用 Android WebView加载本地页面进度条始终卡在20%左右不动的情况。打 Log、抓包发现卡在 WebView对象调用 loadDataWithBaseURL方法。 去网上搜了一下解决方案&#xff0c;stackoverflow上有人说是因为 JELLY_BEAN以上版本没有设置 WebView访问文件的权限导…

微信出现“已停止访问该网页”或“关于潜在的违法或违规内容”怎么办?如何获取被屏蔽的网页的网址?...

点击上方↑↑↑蓝字[协议分析与还原]关注我们今天介绍一个微信使用技巧。微信出现“已停止访问该网页”或“关于潜在的违法或违规内容”怎么办&#xff1f;如何获取被屏蔽的网页的网址&#xff1f;由于微信严格的管控措施&#xff0c;经常会导致一些分享的网址被微信屏蔽&#…

self.navigationController push到指定控制器

1 返回到当前页面上面第三级控制器int idx (int)[[self.navigationController viewControllers]indexOfObject:self]; [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:(idx -3)] animated:YES];2 //遍…

Google搜索的常用技巧

个人搜索方案 1、选择合适的搜索词&#xff0c;一些行业术语或专家名字可以带来更加高质量的结果。 2、搜索词手动使用空格分隔&#xff0c;先进行第一次搜索&#xff0c;看搜索结果标题是否满足预期&#xff0c;如果不满足&#xff0c;采用更换关键词&#xff0c;添加关键词&a…

hdu 1085 Holding Bin-Laden Captive!

Description We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of China! “Oh, God! How terrible! ” Don’t be so afraid, guys. Although he hides in a cave of…

GPS NMEA-0183协议常用报文数据格式

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 整理的GPS有关的协议分析资料。”之前分析一些车载设备的流量时&#xff0c;有部分经验&#xff0c;在这里和大家分享。产生这些流量的设备通常是实体终端设备&#xff0c;里面装有处理芯片&#xff0c;与GPS通信&#xff0c;也通…

【tyvj1052】【树状dp】没有上司的舞会

描述 Ural大学有N个职员&#xff0c;编号为1~N。他们有从属关系&#xff0c;也就是说他们的关系就像一棵以校长为根的树&#xff0c;父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会&#xff0c;要求与会职员的快乐指数最大。但是&#xff0c;没有职员…

java中memcached

http://www.oschina.net/code/snippet_250396_9181 转载于:https://www.cnblogs.com/suifengbingzhu/p/3737053.html

01内存管理-概述

内存管理 内存消耗内存管理模型语言架构减少内存使用的实践 1 内存消耗 栈大小 每一个线程都有专有的栈空间&#xff0c;栈内存在线程存在期间自由使用。 每一个函数都有其自己的栈帧&#xff0c;所有的变量都会载入到方法的栈帧中&#xff0c;并且消耗一定的内存。 &…

linux下unzip解压报错“symlink error: File name too long”怎么办?提供解决方案。

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 分享unzip工具的一个bug。”最近在研究菠菜站&#xff0c;中间用到了Spidermonkey&#xff0c;碰到一些小波折&#xff0c;在这里分享出来&#xff0c;以便大家快速跳坑。从全球最大的男性交友网站GitHub上把Spidermonkey-master…

EF-Linq将查询结果转换为Liststring

List<int> id_list new List<int>() { 1 };//测试数据...List<string> guid_list (from uinfo in db.UserInfowhere id_list.Contains(uinfo.ID)select new{uid uinfo.Guid}).ToList().Select(u > u.uid).ToList<string>(); 转载于:https://www.c…

hdu 2594 kmp

这个题和kmp算法的共同点&#xff0c;也就是可以用kmp解的原因&#xff0c;在于当前缀所在串&#xff08;kmp中的模式串&#xff09;字符pj≠后缀所在串(kmp中文本串)字符tj时&#xff0c;应使前缀串(kmp中模式串)尽量往右移动最大位移&#xff0c;而暴力算法则是每次移动位移为…

途游斗地主加密协议分析及破解

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 分析途游斗地主的加密协议。”作为一个手机棋牌游戏厂商&#xff0c;途游是排得上号的&#xff0c;它的途游斗地主一直很火热&#xff0c;隐约记得&#xff0c;这个厂商一直在搞斗地主的全国竞技赛事&#xff0c;并蹭上了体育总局…

URI、URL以及URN的区别

首先&#xff0c;URI&#xff0c;是uniform resource identifier&#xff0c;统一资源标识符&#xff0c;用来唯一的标识一个资源。而URL是uniform resource locator&#xff0c;统一资源定位器&#xff0c;它是一种具体的URI&#xff0c;即URL可以用来标识一个资源&#xff0c…

[转]使用设计模式改善程序结构(二)

使用设计模式改善程序结构&#xff08;二&#xff09; 在本系列的 第一篇文章中&#xff0c;描述了如何通过设计模式来指导我们的程序重构过程&#xff0c;并且着重介绍了设计模式意图、动机的重要性。在本文中我们将继续上篇文章进行讨论&#xff0c;这次主要着重于设计模式的…

iOS arm 64 的了解

ARM 简介&#xff1a;ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。百度介绍 iOS设备中的处理器都是基于ARM架构的。 arm设备真机i386&#xff08;iphone5,iphone5s以下的模拟器&#xff09;x86_64(iphone6以上的模拟器…

wireshark和tcpdump抓包TCP乱序和重传怎么办?PCAP TCP排序工具分享

点击上方↑↑↑蓝字[协议分析与还原]关注我们 “ 介绍TCP排序方法&#xff0c;分享一个Windows版的TCP排序工具。” 在分析协议的过程中&#xff0c;不可避免地需要抓包。 无论抓包条件如何优越&#xff0c;无论Windows下使用wireshark还是Linux下使用tcpdump&#xff0c;无论是…

USACO JANUARY——矩形[rects]

Description 给出N个矩形(1≤N≤100)和它的长和宽(不超过1000)&#xff0c;写一个程序找出最大的K&#xff0c;使得有K个矩形满足层层包含的关系&#xff0c;即里层的矩形被所有外层的矩形包含&#xff0e;一个矩形P1包含另一个矩形P2&#xff0c;则P2的一边小于P1的一边&#…

ORACLE分页SQL

ORACLE分页SQL 1&#xff0c;使用rownum SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM < 40 ) WHERE RN > 21 2&#xff0c;使用between SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A ) W…

01-基本概念

GCD 1 基本概念 概念&#xff1a; 是 Apple 开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并发任务 优点 多核并行运算不需要手动管理线程生命周期自动利用CPU的内核 两个基本点…

cocos2d游戏jsc文件格式解密,SpideMonkey大冒险

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 介绍cocos2d游戏中常用的jsc格式文件的解密。” 01 — 在破解游戏应用中&#xff0c;经常会碰到后缀为jsc的文件&#xff0c;这是基于cocos2d开发的游戏的加密代码&#xff0c;本质上是js文件&#xff0c;只是被加密了。 例如之前…