目录
一、找到可以下载layui的压缩包
二、搭建坏境
三、使用layui
1、测试使用
案列
2、自定义模块 可参考文档
四、layui登录基本功能的实现
什么是layui: layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
官方网站:https://www.layui.com/(已下线)
参考地址:http://layui.org.cn/demo/index.html(可以用,非官网)
将layui下载到了本地,那么可将其完整地放置到你的项目目录(或静态资源服务器),并在页面中分别引入:
将jar包导入,使用别人的框架
测试导入的框架能不能用
运行web.xml
将图中画红线部分copy一下
改为
http://localhost:8080/T280_layui/blog.action?methodName=list
结果
能够跳出一个对应的界面 说明该框架没问题可以使用
mvc.xml的配置文件
注意:测试一定要改config.properties中数据库的库名
在WebContent中建一个文件夹static在建一个文件夹js属于static的子文件夹,将layui从网页中下载解压,打开选中layui的一个文件夹复制进static
在页面中分别引入:
ctrl+c拷贝文件全名
ctrl+shift+r按照全名查找文件 替换href在加上绝对路径
测试:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
请输入:
当点击 点我 时
在static中建一个文件夹名为mymodule在其里面建一个js的文件夹,在js中新建mymod.js的文件
mymod.js
/**
扩展一个 mymod 模块
**/
layui.define(function(exports){ //提示:模块也可以依赖其它模块,如:layui.define('mod1', callback);
var obj = {
hello: function(str){
alert('Hello '+ (str||'mymod'));
},say: function(str){
alert('say '+ (str||'mymod'));
}
};
//输出 mymod 接口
exports('mymod', obj);
});
在和 mymod.js同级建一个mymodule_config.js的配置文件
//config的设置是全局的
layui.config({
base: 'static/js/layui/mymodule/js/' //假设这是你存放拓展模块的根目录
}).extend({ //设定模块别名
mymod: 'mymod' //如果 mymod.js 是在根目录,也可以不用设定别名
});
测试自定义模块是否可用
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
请输入:
请输入相关文字:
将登录页面布置好,引用别人的界面,新建一个页面,导入样式
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="common/header.jsp" %>
会员登录-演示网站
写一个实体类
package com.zking.entity;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public User() {
// TODO Auto-generated constructor stub
}
public User(String username, String password) {
this.username = username;
this.password = password;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]";
}
}
写一个user.action
package com.zking.web;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.catalina.util.RequestUtil;
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{
private User user = new User();
// 写一个方法处理前台的请求
public String login(HttpServletRequest req, HttpServletResponse resp) {
Map map = new HashMap();
if("zhangsan".equals(user.getUsername()) && "123456".equals(user.getPassword())) {
// 登录成功
map.put("code", 200);
map.put("msg", "成功");
}
else {
// 登录失败
map.put("code", 0);
map.put("msg", "账户或者密码错误");
}
try {
ResponseUtil.writeJson(resp, map);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public User getModel() {
return user;
}
}
配置文件
使用
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="common/header.jsp" %>
会员登录-演示网站
运行:
优化UserAction
package com.zking.web;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.catalina.util.RequestUtil;
import com.zking.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.R;
import com.zking.util.ResponseUtil;
public class UserAction extends ActionSupport implements ModelDriver{
private User user = new User();
// 写一个方法处理前台的请求
// public String login(HttpServletRequest req, HttpServletResponse resp) {
// Map map = new HashMap();
// if("zhangsan".equals(user.getUsername()) && "123456".equals(user.getPassword())) {
登录成功
// map.put("code", 200);
// map.put("msg", "成功");
//
// }
// else {
登录失败
// map.put("code", 0);
// map.put("msg", "账户或者密码错误");
// }
// try {
// ResponseUtil.writeJson(resp, map);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// return null;
// }
public String login(HttpServletRequest req, HttpServletResponse resp) {
try {
if("zhangsan".equals(user.getUsername()) && "123456".equals(user.getPassword())) {
// 登录成功
ResponseUtil.writeJson(resp, new R().data("code", 200).data("msg","成功"));
}
else {
// 登录失败
ResponseUtil.writeJson(resp, new R().data("code", 0).data("msg","账户或密码错误"));
}
} catch (Exception e) {
// TODO: handle exception
}
return null;
}
@Override
public User getModel() {
return user;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="common/header.jsp" %>
会员登录-演示网站
登录成功后
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
主界面搭建