layui登陆与树行跳转

本文介绍了如何使用layui前端框架实现登录功能,并结合tab选项卡进行页面跳转。首先,详细讲解了layui的tab选项卡的配置与使用,接着阐述了登录模块的实现,包括用户验证和登录状态的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.tab选项卡

let $,element;
layui.use(['jquery','element'],function(){
	$ =layui.jquery,element=layui.element;
	$.ajax({
		url:'${pageContext.request.contextPath }/permission.action?methodName=menus'
		,dataType:'json'
		,success:function(data){
			console.log(data);
			let htmlstr='';
			$.each(data,function(i,n){
				htmlstr += '<li class="layui-nav-item layui-nav-itemed">';
				htmlstr += '	<a class="" href="javascript:;">'+data[i].text+'</a>';
				//判断当前一级节点是否存在子节点
				if(data[i].hasChildren){
					htmlstr += '<dl class="layui-nav-child">';
					let children =data[i].children;
					$.each(children,function(index,node){
						htmlstr += '<dd><a href="javascript:;" onClick="openTabs(\''+children[index].text+'\',\''+children[index].attributes.self.url+'\',\''+children[index].id+'\');">'+children[index].text+'</a></dd>';
					});
					htmlstr += '</dl>';
				}
				htmlstr += '</li>';
			});
			$("#menu").html(htmlstr);
		}
	});
});

function openTabs(title,url,id) {
	let $node=$("li[lay-id='"+id+"']");
	debugger;
	if($node.length==0){
		//新增一个Tab项
		element.tabAdd('demo',{
		  title: title //用于演示
		  ,content: "<iframe frameborder='0' src='"+url+"' scrolling='auto' style='width:100%;height:100%;'></iframe>"
		  ,id: id //实际使用一般是规定好的id,这里以时间戳模拟下
		})	
	}
	
	element.tabChange('demo',id);
}
1.dao方法辰

package com.zking.dao;

import java.util.ArrayList;
import java.util.List;

import com.zking.entity.Permission;
import com.zking.util.BaseDao;
import com.zking.util.BuildTree;
import com.zking.util.PageBean;
import com.zking.util.R;
import com.zking.util.TreeVo;

public class PermissionDao extends BaseDao<Permission>{
//查询t_oa_permission表中的数据
	public List<Permission> list(Permission permission, PageBean pageBean) throws Exception {
		String sql="select * from t_oa_permission";
		return super.executeQuery(sql, Permission.class, pageBean);
	}
	public List<TreeVo<Permission>> menus(Permission permission, PageBean pageBean) throws Exception {
		List<TreeVo<Permission>> trees=new ArrayList<TreeVo<Permission>>();
		//从数据库中拿到的菜单数据,此时数据是平级的,不具备父子关系
		List<Permission> list =this.list(permission, pageBean);
		for (Permission p : list) {
			TreeVo<Permission> vo =new TreeVo<>();
			vo.setId(p.getId()+"");
			vo.setText(p.getName());//节点的名称
			vo.setParentId(p.getPid()+"");
			vo.setAttributes(new R().data("self",p));
			trees.add(vo);
		}
		return BuildTree.buildList(trees, "-1");
	}
}

2.登录功能实现

layui.use(['jquery','layer'],function(){
            		let $=layui.jquery
            		,layer = layui.layer;
            		$("#login").click(function(){
            			$.ajax({
            				url:"user.action?methodName=login"
      						,dataType:'json'
      						,data:{
      							loginName:$("#username").val(),
      							pwd:$("#password").val()
      						}
      						,success:function(data){
      							if(data.code == 200){
      								layer.alert(data.msg,{icon: 1});
      								location.href='main.jsp';
      							}else{
      								layer.alert(data.msg,{icon: 2});
      							}      							
      						}
            			})			
            		});
            	});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值