码迷,mamicode.com
首页 > 其他好文 > 详细

00016-layui 动态加载菜单 laytpl

时间:2020-05-31 09:32:10      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:data-   基本   enter   ict   http   区域   input   userinfo   tle   

<%@ 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;

00016-layui 动态加载菜单 laytpl

标签:data-   基本   enter   ict   http   区域   input   userinfo   tle   

原文地址:https://blog.51cto.com/14816966/2499960

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!