【Layui】入门必看:登录注册界面搭建与功能开发解析

目录

Layui介绍

什么是Layui?

Layui入门

Layui登录实例

导入jar

配置

导入Layui

编写公共jsp

编写代码

Layui注册实例

代码实例


Layui介绍

Layui是一款面向前端开发者的轻量级JavaScript库,旨在简化网页开发过程。它提供了丰富的基础UI组件和常用的工具函数,使开发者可以更快速地构建出优秀的网页界面。

Layui具备以下特点和功能:

  1. 简洁易用:Layui的设计理念是简洁而易用,它提供了直观的API和简单的配置,使开发者可以更快速地上手并快速构建界面。
  2. 模块化加载:Layui采用模块化的加载方式,每个功能都是以独立的模块形式存在,开发者可以根据自己的需求按需加载所需的模块,避免了不必要的资源浪费。
  3. 基础UI组件:Layui提供了丰富的基础UI组件,如按钮、表单、导航、选项卡、弹层等,这些组件已经封装好了常用的功能和特性,开发者只需要简单配置即可使用。
  4. 插件扩展:Layui支持插件扩展,开发者可以通过引入扩展插件来增加更多的功能和效果,如日期选择器、分页、弹窗等。
  5. 兼容性强:Layui兼容大部分现代浏览器,并且对移动端适配也较为友好,可以在不同平台上良好地展现页面效果。

总体而言,Layui是一款功能强大、轻量级、易用的前端开发库,适用于各种规模的项目,帮助开发者快速实现出美观、高效的网页界面。

什么是Layui?

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

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

Layui入门

1. 下载Layui:首先,你需要从Layui官网(https://www.layui.com/)下载Layui的压缩包,解压后可以得到相关的文件。

        Layui的官网进不去了我这里提供镜像网站

http://layui.org.cn/demo/index.html

https://layui.org.cn/docs/docs.html

https://www.layuiweb.com/doc/index.htm

2. 引入Layui:在你的HTML文件中,使用<link>标签引入Layui的CSS文件和<script>标签引入Layui的JavaScript文件。例如:

   <!-- 引入 layui.css -->
   <link rel="stylesheet" href="xxx/layui.css">
   <!-- 引入 layui.js -->
   <script src="xxx/layui.js"></script> 

3. 使用Layui组件:Layui提供了一系列的UI组件,你可以根据自己的需求使用这些组件。例如,如果你想使用一个按钮组件,可以在HTML中添加如下代码:
 

<button class="layui-btn">按钮</button>

4. 初始化Layui:在你的JavaScript代码中,加入初始化Layui的语句,以确保Layui工作正常。例如:
 

layui.use(['layer', 'form'], function(){
  var layer = layui.layer //加载layer模块
  ,form = layui.form; //加载form模块
  // 这里可以写一些其他的代码或事件监听
  layer.msg('Hello World');
});

5. 进一步学习:以上是一个简单的Layui入门示例,但Layui还提供了更多功能和组件,比如表格、弹层、分页等。你可以通过查看Layui官方文档,了解更多关于每个组件的使用方法,并根据自己的需求深入学习和应用。

值得注意的是,Layui是一个相对简单易用的前端框架,但为了更好地使用它,你可能需要对HTML、CSS和JavaScript有一定的基础知识。如果你对前端开发不太熟悉,建议先学习相关的基础知识,再进一步使用Layui。

Layui登录实例

导入jar

在我们的项目里面导入需要的jar包

配置

配置mvc.xml文件


 

<?xml version="1.0" encoding="UTF-8"?>
<config>
	<action path="/blog" type="com.zking.web.BlogAction">
		<forward name="list" path="/blogList.jsp" redirect="false" />
		<forward name="toList" path="/blog.action?methodName=list"
			redirect="true" />
		<forward name="toEdit" path="/blogEdit.jsp" redirect="false" />
	</action>
	<action path="/user" type="com.zking.web.UserAction">
	</action>
</config>

导入Layui

我们把我们下载的Layui放在一个静态的文件夹里面

编写公共jsp

编写公共的header.jsp文件


 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>header</title>
<!-- 引入 layui.css -->
<link rel="stylesheet" href="${pageContext.request.contextPath }/static/layui/css/layui.css">
<!-- 引入 layui.js -->
<script src="${pageContext.request.contextPath }/static/layui/layui.js"></script>
</head>
</html>

编写代码

我们依次编写实体类===》dao方法===》Action===》login.jsp

实体类
 

package com.zking.entity;

/**
 * 
 * @author tgq
 *
 */
public class User {

	private long id;
	private String name;
	private String loginname;
	private String pwd;
	private long rid;

	public User() {
		// TODO Auto-generated constructor stub
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getLoginname() {
		return loginname;
	}

	public void setLoginname(String loginname) {
		this.loginname = loginname;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	public long getRid() {
		return rid;
	}

	public void setRid(long rid) {
		this.rid = rid;
	}

	public User(long id, String name, String loginname, String pwd, long rid) {
		super();
		this.id = id;
		this.name = name;
		this.loginname = loginname;
		this.pwd = pwd;
		this.rid = rid;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", loginname=" + loginname + ", pwd=" + pwd + ", rid=" + rid + "]";
	}

}

UserDao方法

package com.zking.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;

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

/**
 * 用户dao方法
 * 
 * @author tgq
 *
 */
public class UserDao extends BaseDao<User> {

	/**
	 * 查询所有用户
	 * 
	 * @param user
	 * @param pageBean
	 * @return
	 * @throws Exception
	 */
	public List<User> list(User user, PageBean pageBean) throws Exception {
		String sql = "select * from t_oa_user where 1=1";
		return super.executeQuery(sql, User.class, pageBean);
	}

	/**
	 * 获取实体类
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User login(User user) throws Exception {
		String sql = "select * from t_oa_user where loginname = '" + user.getLoginname() + "' and pwd = '"
				+ user.getPwd() + "'";
		List<User> list = super.executeQuery(sql, User.class, null);
		if (list != null && list.size() == 1) {
			return list.get(0);
		}

		return null;
	}

}

编写Action
 

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 String login(HttpServletRequest req, HttpServletResponse resp) throws Exception {
		User u = userDao.login(user);
		ResponseUtil.writeJson(resp, u);
		return super.execute(req, resp);
	}

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

}

login.jsp


 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<title>login</title>
<link rel="stylesheet" href="static/css/iconfont.css">
<link rel="stylesheet" href="static/css/login.css">
<%@include file="/common/header.jsp"%>
<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' ],function() {
						let $ = layui.jquery;
						let layer = layui.layer;
						$("#login").click(function() {
							$.ajax({
														url : '${pageContext.request.contextPath }/userAction.action?methodName=login',
														data : {
															loginname :$("#username").val(),
															pwd : $("#password").val()
														},
														method : 'post',
														dataType : 'json',
														success : function(resp) {
															layer.alert(resp,{icon : 1});
															if (resp.code == 1) {
																layer.alert('登录成功',{icon : 1});
															} else {
																layer.alert('失败了',{icon: 5});
															}
														}
													})
										})

					});
</script>
</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="#" 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>
</body>
</html>


 

Layui注册实例

代码实例

根据以上的步骤,我们只需要添加一些方法就行
Dao方法===》UserAction
Dao方法

package com.zking.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;

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

/**
 * 用户dao方法
 * 
 * @author tgq
 *
 */
public class UserDao extends BaseDao<User> {

	/**
	 * 查询所有用户
	 * 
	 * @param user
	 * @param pageBean
	 * @return
	 * @throws Exception
	 */
	public List<User> list(User user, PageBean pageBean) throws Exception {
		String sql = "select * from t_oa_user where 1=1";
		return super.executeQuery(sql, User.class, pageBean);
	}

	/**
	 * 获取实体类
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public User login(User user) throws Exception {
		String sql = "select * from t_oa_user where loginname = '" + user.getLoginname() + "' and pwd = '"
				+ user.getPwd() + "'";
		List<User> list = super.executeQuery(sql, User.class, null);
		if (list != null && list.size() == 1) {
			return list.get(0);
		}

		return null;
	}

	/**
	 * 获取最大id
	 */
	public int getMaxId() throws Exception {
		// 创建连接
		Connection conn = DBAccess.getConnection();
		int id = 0;
		String sql = "select MAX(id) from t_oa_user";
		PreparedStatement ps = conn.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		if (rs.next()) {
			id = rs.getInt("max_id");
		}
		return id;
	}

	/**
	 * 注册的方法
	 */
	public int register(User user) throws Exception {
		// 创建连接
		Connection conn = DBAccess.getConnection();
		String sql = "insert into t_oa_user values(" + user.getId() + "," + user.getName() + "," + user.getLoginname()
				+ "," + user.getPwd() + "," + user.getRid() + ")";
		PreparedStatement ps = conn.prepareStatement(sql);
		int n = ps.executeUpdate();
		return n;
	}
}

UserAction
 

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();

	/**
	 * 登录
	 * 
	 * @param req
	 * @param resp
	 * @return
	 * @throws Exception
	 */
	public String login(HttpServletRequest req, HttpServletResponse resp) throws Exception {
		User u = userDao.login(user);
		ResponseUtil.writeJson(resp, u);
		return super.execute(req, resp);
	}

	/**
	 * 注册
	 * 
	 * @param req
	 * @param reps
	 */
	public void Register(HttpServletRequest req, HttpServletResponse reps) {
		try {
			// 先获取最大的id数
			int maxId = userDao.getMaxId();
			user = new User(maxId, req.getParameter("name"), req.getParameter("name"), req.getParameter("name"),
					Integer.parseInt(req.getParameter("name")));
			int register = userDao.register(user);
			ResponseUtil.writeJson(reps, user);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

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

}

Register.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<title>注册</title>
<link rel="stylesheet" href="static/css/iconfont.css">
<link rel="stylesheet" href="static/css/login.css">
<head>
<%@include file="common/header.jsp"%>
<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' ], function() {
		let $ = layui.jquery;
		let layer = layui.layer;
		$("#register").click(function() {
			$.ajax({
				url : "${pageContext.request.contextPath }/UserAction.action?methodName=register",
				data : {
					name : $("#username").val(),
					loginname : $("#loginname").val(),
					pwd : $("#password").val(),
					rid : $("#rid").val()
				},
				type : 'post',
				dataType : 'json',
				success : function(data) {
					if (resp.code == 1) {
						layer.alert('注册成功', {
							icon : 1
						});
					} else {
						layer.alert('注册失败', {
							icon : 5
						});
					}
				}
			})
		})

	});
</script>
</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="text" id="loginname" 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>
					<input type="text" id="rid" placeholder="请输入身份id" 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="#" class="f-12 f-gray">返回登录</a>
				</p></li>
		</ul>
	</div>
</body>
</html>


 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,可以了解到Layui是一个非常流行的前端UI框架,可以用于快速搭建各种网站页面。下面是一个简单的Layui登录注册页面的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Layui登录注册页面</title> <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css"> <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md6 layui-col-md-offset3"> <div class="layui-card"> <div class="layui-card-header">用户登录</div> <div class="layui-card-body"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">用户名</label> <div class="layui-input-block"> <input type="text" name="username" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密码</label> <div class="layui-input-block"> <input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="login">登录</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> </div> </div> <div class="layui-card"> <div class="layui-card-header">用户注册</div> <div class="layui-card-body"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">用户名</label> <div class="layui-input-block"> <input type="text" name="username" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">密码</label> <div class="layui-input-block"> <input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="register">注册</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> </div> </div> </div> </div> </div> <script> //JavaScript代码区域 layui.use(['form', 'layer'], function(){ var form = layui.form; var layer = layui.layer; //监听登录提交 form.on('submit(login)', function(data){ layer.msg(JSON.stringify(data.field)); return false; }); //监听注册提交 form.on('submit(register)', function(data){ layer.msg(JSON.stringify(data.field)); return false; }); }); </script> </body> </html> ``` 这个示例代码包含了一个简单的登录和注册表单,使用了Layui的表单组件和弹出层组件。在JavaScript代码中,使用了Layui的form模块和layer模块来处理表单提交和弹出提示框。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无法自律的人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值