Layui的入门级教学,基本使用及如何实现登入与注册页面

一,什么是layui?

        layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来

官方网站https://www.layui.com/(已下线)

参考地址:http://layui.org.cn/demo/index.html (已下线,非官网)

1.2 layui由来

     由国人开发(作者贤心),16年出厂的框架,其主要提供了很多好看、方便的样式,并且基本拿来即用,和Bootstrap有些相似,但该框架有个极大的好处就是定义了很多前后端交互的样式接口,如分页表格,只需在前端配置好接口,后端则按照定义好的接口规则返回数据,即可完成页面的展示,极大减少了后端人员的开发成本。

二,layui的入门

  1 进入提供的非官网http://layui.org.cn/demo/index.html 左侧开始使用下滑下点击码云下载layui的zip压缩文件

  2.新建一个folder文件命名为static,将刚解压的layui文件中下的layui导入该文件static中

  3.编写一个jsp页面使用link标签引入layui中的css。使用script标签引入layui中的js

​
<!-- 引入 layui.css -->
<link rel="stylesheet" href="${pageContext.request.contextPath }/static/js/layui/css/layui.css">
<!-- 引入 layui.js -->
<script src="${pageContext.request.contextPath }/static/js/layui/layui.js"></script>

​

4.测试layui的使用,如下代码 layui.use() 方法来配置和使用相应的模块。


<input type="hidden" id="inputid" value="其实没有惊喜">
 <button id="btnid">点我有惊喜!</button>

<script>
layui.use(['layer', 'form','jquery'], function(){
  var layer = layui.layer
  ,form = layui.form
  ,$ = layui.jquery;
  
  
  $("#btnid").click(function() {
	  layer.msg($("#inputid").val());  
});
});
</script> 

运行结果点击弹出相关语句:

 三,实现登入及注册页面

1,编写登入及注册jsp页面,导入相对应的layui的css及js

登入jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ include file="common/header.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 <link rel="stylesheet" rev="stylesheet" href="${pageContext.request.contextPath }/static/css/iconfont.css" type="text/css" media="all">
 <link rel="stylesheet" rev="stylesheet" href="${pageContext.request.contextPath }/static/css/login.css" type="text/css" media="all">
 <style> body{color:#;}a{color:#;}a:hover{color:#;}.bg-black{background-color:#;}.tx-login-bg{background:url(static/images/bg.jpg) no-repeat 0 0;}</style>
</head>
  <body class="tx-login-bg">
        <div class="tx-login-box">
            <div class="login-avatar bg-black"><i class="iconfont icon-wode"></i></div>
				<ul class="tx-form-li row">
					<li class="col-24 col-m-24"><p><input type="text" id="username" placeholder="登录账号" class="tx-input"></p></li>
					<li class="col-24 col-m-24"><p><input type="password" id="password" placeholder="登录密码" class="tx-input"></p></li>
					<li class="col-24 col-m-24"><p class="tx-input-full"><button id="login" class="tx-btn tx-btn-big bg-black">登录</button></p></li>
					<li class="col-12 col-m-12"><p><a href="register.jsp" class="f-12 f-gray">新用户注册</a></p></li>
					<li class="col-12 col-m-12"><p class="ta-r"><a href="#" class="f-12 f-gray">忘记密码</a></p></li>
				</ul>
            </div>
            


<script>
layui.use(['layer','jquery'], function(){
  var layer = layui.layer
  ,$ = layui.jquery;
  
  //给登入按钮设置点击事件
  $("#login").click(function() {
	  $.ajax({
		 url:'${pageContext.request.contextPath }/user.action?methodName=login',
	    dataType:'json',
	  data:{
		  //获取需要传值的id 账户密码
		  loginName:$("#username").val(),
		  pwd:$("#password").val(),
	  },
	  method:'post',
	  //回调函数
	  success:function(data){
		  //判断后端传值数据
		  if(data){
			  layer.alert('您好'+data.name+'登入成功',{icon: 6});
		  }else{
			  layer.alert('账号密码错误...请重试!',{icon: 5});
		  }
	  }
	  });
	  
	  
	  
 
});
});
</script> 
    </body>
</html>

注册jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<%@include file="common/header.jsp"%>
<link rel="stylesheet" role="stylesheet"
	href="${pageContext.request.contextPath}/static/css/login.css"
	type="text/css" media="all">
<style>
body {
	color: #;
}
 
a {
	color: #;
}
 
a:hover {
	color: #;
}
 
.bg-black {
	background-color: #;
}
 
.tx-login-bg {
	background: url(static/images/bg.jpg) no-repeat 0 0;
}
</style>
 
 
<script type="text/javascript">
		layui.use(['jquery','layer','form'], function() {
		    let $ = layui.jquery;
		    let layer = layui.layer;
		    let form =layui.form;
		    $("#register").click(function() {
		    	$.ajax({
		    		url:"${pageContext.request.contextPath}/user.action?methodName=register",
		    		dataType:'json',
		    		data: {
		    			name:$("#relname").val(),
		    			loginName: $("#username").val(),
		    			pwd: $("#password").val()
		    		},
		    		method: 'post',
		    		success: function(data) {
		    			if(data=="OK") {
		    				layer.alert('注册成功', {icon: 6});
/* 		    				location.href="login.jsp";
 */		    			} else {
		    				layer.alert('注册失败', {icon: 5});
		    			} 
		    		}
		    	})
		    })
		    
		 });
		</script>
</head>
<body class="tx-login-bg " style="margin-top: 100px;">
 
	<center>
		<div class="tx-login-box">
			<div class="login-avatar bg-black">
				<i class="iconfont icon-wode"></i>
			</div>
			<ul class="tx-form-li row">
			<li class="col-24 col-m-24"><p>
						<input type="text" id="relname" placeholder="姓名"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p>
						<input type="text" id="username" placeholder="账号"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p>
						<input type="password" id="password" placeholder="密码"
							class="tx-input">
					</p></li>
				<li class="col-24 col-m-24"><p class="tx-input-full">
						<button id="register" class="tx-btn tx-btn-big bg-black">注册</button>
					</p></li>
				<li class="col-12 col-m-12"><p>
						<a href="login.jsp" class="f-12 f-gray">返回登录</a>
					</p></li>
			</ul>
		</div>
	</center>
</body>
</html>
 

2,编写dao方法,进行相对应操作时调取方法

package com.zking.dao;

import java.util.List;

import com.zking.entity.User;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;

public class UserDao extends BaseDao<User>{
	//查询方法
    public List<User> list(User user,PageBean pageBean) throws Exception {
    	//编写sql语句
    	String sql="select * from t_oa_user where 1=1";
    	return super.executeQuery(sql, User.class, pageBean);
    }
    
    //登入方法
    public User login(User user) throws Exception {
    	//编写sql语句 登入时输入账户密码要与数据库中登入的账户和密码一致
    	String sql="select * from t_oa_user where loginName ='"+user.getLoginName()+"' and pwd ='"+user.getPwd()+"'";
    	 List<User> list = super.executeQuery(sql, User.class, null);
    	 //判断返回值 判断不为空或长度大小为1 说明有值
    	 if(list!=null && list.size() ==1) {
    		 return list.get(0);//返回该值
    	 }
    	return null;//否则为空
    }
    
    
      
      //注册方法
  		public int register(User user) throws Exception {
  		// 定义sql语句
  	 String sql = "insert into t_oa_user(name,loginName,pwd,rid) values(?,?,?,0);";
  			return super.executeUpdate(sql,user,new String[] {"name","loginName","pwd"});
  		}
  		
  
}

3,编写后端servlet,将后端值相对应的结果值传到前端

package com.zking.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zking.dao.UserDao;
import com.zking.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.ResponseUtil;

public class UserAction extends ActionSupport implements ModelDriver<User> {
   private User user = new User();//实体
	private UserDao userdao = new UserDao();//方法
	
		public void login(HttpServletRequest req, HttpServletResponse resp) {
           try {
        	  //调用方法
			User u = userdao.login(user);
			 //继承中ModelDriver已经封装依懒mvc中req接受前端传来的值,当前结果保存到该方法中
			ResponseUtil.writeJson(resp, u);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		}
	
	//注册
		public void register(HttpServletRequest req, HttpServletResponse resp) {
			try {
				int register = userdao.register(user);
				//判断前端的值大于0 证明有值
				if (register > 0) {
					//回显ok 代表成功
					ResponseUtil.writeJson(resp, "OK");
				} else {
					//回显失败 代表失败
					ResponseUtil.writeJson(resp, "NO");
				}
	 
			} catch (Exception e) {
				e.printStackTrace();
			}
			
		}

	
	
	@Override
	public User getModel() {
		return user;
	}

}

4,最后登入注册运行结果:

查看数据库中有无注册该数据即可。如下id为25是刚新增的数据

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.Doll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值