<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/common/taglibs.jsp"%>
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> 管理系统 </title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="${ctxLayui}/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="${ctxLayui}/layuiadmin/style/admin.css" media="all">
</head>
<body class="layui-layout-body">
<div id="LAY_app">
<div class="layui-layout layui-layout-admin">
<div class="layui-header">
<!-- 头部区域 -->
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item layadmin-flexible" lay-unselect>
<a href="javascript:;" layadmin-event="flexible" title="侧边伸缩">
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
</a>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;" layadmin-event="refresh" title="刷新">
<i class="layui-icon layui-icon-refresh-3"></i>
</a>
</li>
<%--<li class="layui-nav-item layui-hide-xs" lay-unselect>
<input type="text" placeholder="搜索..." autocomplete="off" class="layui-input layui-input-search" layadmin-event="serach" lay-action="template/search.html?keywords=">
</li>--%>
</ul>
<ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
<%--<li class="layui-nav-item" lay-unselect>
<a lay-href="app/message/index.html" layadmin-event="message" lay-text="消息中心">
<i class="layui-icon layui-icon-notice"></i>
<!-- 如果有新消息,则显示小圆点 -->
<span class="layui-badge-dot"></span>
</a>
</li>--%>
<%--<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="theme">
<i class="layui-icon layui-icon-theme"></i>
</a>
</li>--%>
<%--<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="note">
<i class="layui-icon layui-icon-note"></i>
</a>
</li>--%>
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="fullscreen">
<i class="layui-icon layui-icon-screen-full"></i>
</a>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;">
<cite>
<shiro:principal property="name"/>
</cite>
</a>
<dl class="layui-nav-child">
<dd><a lay-href="system/userInfoForm.jsp#/self=1"> 基本资料 </a></dd>
<%--<dd><a lay-href="set/user/password.html"> 修改密码 </a></dd>--%>
<hr>
<dd layadmin-event="logout" style="text-align: center;"><a> 退出 </a></dd>
</dl>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;">
<cite data-type="openCall" class="call_seat"> 坐席 </cite>
</a>
</li>
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" >
<%--<i class="layui-icon layui-icon-more-vertical"></i>--%>
</a>
</li>
<%--<li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-unselect>
<a href="javascript:;" layadmin-event="more"><i class="layui-icon layui-icon-more-vertical"></i></a>
</li>--%>
</ul>
</div>
<!-- 侧边菜单 -->
<div class="layui-side layui-side-menu">
<div class="layui-side-scroll">
<div class="layui-logo" lay-href="home/console.html">
<span> 后台管理 </span>
</div>
<!-- 建议改变真实接口地址时保留 lay-url 中的?v={{layui.admin.v}} -->
<script type="text/html" template
lay-done="layui.element.render('nav','layadmin-system-side-menu');" id="TPL_layout">
<div lay-templateid="TPL_layout">
<ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
{{#
layui.each(d.data, function(index,item){}}
<li class="layui-nav-item {{item.spread ? item.children && item.children.length > 0 ?'layui-nav-itemed':'layui-this':''}}"myDir ="1">
{{# if(item.url){}}
<a lay-href="{{item.url}}" lay-tips="{{item.name}}" lay-direction="2">
{{#}else{}}
<a href="javascript:;" lay-tips="{{item.name}}" lay-direction="2">
{{#} }}
{{# if(item.icon){}}
<i class="layui-icon {{item.icon}}"></i>
{{#} }}
<cite>{{item.name}}</cite>
</a>
{{#
var itemListFun = function(children, myDir){
myDir = myDir || 2;
if(children && children.length > 0){}}
<dl class="layui-nav-child">
{{# layui.each(children, function(index2, item2){}}
<dd data-name="{{item2.code ||''}}"class="{{item2.spread ? (item2.children && item2.children.length > 0 ? 'layui-nav-itemed' : 'layui-this') : ''}}" myDir="{{myDir}}">
{{# if(item2.icon){}}
<i class="layui-icon {{item.icon}}"></i>
{{#} }}
{{# if(item2.url){}}
<a lay-href="{{item2.url}}">{{item2.name}}</a>
{{#}else{}}
<a href="javascript:;">{{item2.name}}</a>
{{#} }}
{{# itemListFun(item2.children,myDir+1);}}
</dd>
{{#}) }}
</dl>
{{#} }}
{{#};
itemListFun(item.children); }}
</li>
{{#}) }}
</ul>
</div>
</script>
</ul>
</div>
</div>
<!-- 页面标签 -->
<div class="layadmin-pagetabs" id="LAY_app_tabs">
<div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
<div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
<div class="layui-icon layadmin-tabs-control layui-icon-down">
<ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;"></a>
<dl class="layui-nav-child layui-anim-fadein">
<dd layadmin-event="closeThisTabs"><a href="javascript:;"> 关闭当前标签页 </a></dd>
<dd layadmin-event="closeOtherTabs"><a href="javascript:;"> 关闭其它标签页 </a></dd>
<dd layadmin-event="closeAllTabs"><a href="javascript:;"> 关闭全部标签页 </a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
<ul class="layui-tab-title" id="LAY_app_tabsheader">
<li lay-id="home/console.jsp" lay-attr="home/console.jsp" class="layui-this"><i class="layui-icon layui-icon-home"></i></li>
</ul>
</div>
</div>
<!-- 主体内容 -->
<div class="layui-body" id="LAY_app_body">
<div class="layadmin-tabsbody-item layui-show">
<iframe src="home/console.jsp" frameborder="0" class="layadmin-iframe"></iframe>
</div>
</div>
<!-- 辅助元素,一般用于移动设备下遮罩 -->
<div class="layadmin-body-shade" layadmin-event="shade"></div>
</div>
</div>
<script src="${ctxLayui}/layuiadmin/layui/layui.js"></script>
<script>
layui.config({base: '${ctxLayui}/layuiadmin/' // 静态资源所在路径
,version:new Date().getTime()
}).extend({index: 'lib/index' // 主入口模块}).use(['index','laytpl','common','form','dict','laydate'],function () {
var $ = layui.$;
var admin = layui.admin;
var laytpl = layui.laytpl;
var element = layui.element;
var form = layui.form;
var dict = layui.dict;
var laydate = layui.laydate;
var menuTpl = top.layui.view('TPL_layout');
menuTpl.container.attr('lay-url', ctx+'/business/businessUser/getMenuList?v='+layui.admin.v);// 可更改 url
menuTpl.refresh();});
</script>
</body>
</html>
接口:business/businessUser/getMenuList 的返回结构为:BusinessMenuPo
/**
* 名称
*/
private String name;
/**
* 代码
*/
private String code;
/**
* 父 ID
*/
private Long parentId;
/**
* 菜单类型;1- 分类;2- 模块;3- 功能;4- 按键
*/
private Integer type;
/**
* 链接 URL
*/
private String url;
/**
* 排序
*/
private Integer sortOrder;
private List<BusinessMenuPo> children;