LayUI学习与应用

目录

一、LayUI简介 

二、SpringBoot加入layui

2.1构建SpringBoot项目

2.2导入依赖

2.3 加入layui

2.4 编写页面

 2.5 测试

三.layui自定义图标

3.1 下载图标

3.2 添加图标

3.3 页面引用


一、LayUI简介 

官网地址:https://www.layui.com

官网简介:

layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于 2016 年金秋,它区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。

不知道有没有人和我一样,对于前端框架,我还是比较喜欢接近原生的,有些前端复杂的配置有时候过于繁琐,LayUI是一个使用简单、上手容易的前端 UI 框架,非常适合后端开发人员构建后台管理系统使用。这个框架与SpringBoot类似,模块化各个组件,拿来即用。其实我更熟悉easyui,因为它是我最初接触的一个前端框架,但是相比EasyUI相比,我觉得LayUI看起来更加的美观。更是适合拿来作为后台管理系统的开发,其实说到后台管理系统的开发,现在越来越多的集成模板,像ant-design-pro-master等等,这些可以慢慢了解。

二、SpringBoot加入layui

SpringBoot现在一般用于微服务开发,但在常规的web开发中SpringBoot同样应用普遍,因为SpringBoot可以实现快速构建项目,少量配置即可快速搭建开发环境

2.1构建SpringBoot项目

如上图所示的static和templates,springboot默认 static中放静态页面,而templates中放动态页面。但是以前maven项目中的webapp文件夹也可以有,需要配置视图解析器才可以访问。

注意:

  • 1.如果把页面放在static下的话,可以直接通过浏览器ip+端口+页面进行访问

也可以通过控制器进行访问,但是必须写文件后缀.html,否则无效,注意这里用的是Controller注解,不能用RestController注解,至于原因可以自己去了解下RestController这个注解

@Controller
public class IndexController{
  
    //这样写才能访问到
    @RequestMapping("index")
    public String hello() {
        return "/index/index.html";
    }
}
 

2.2导入依赖

在pom.xml文件中导入web依赖和thymeleaf依赖

注意:如果要访问templates下的动态页面,必须导入这里的thymeleaf依赖,templates文件夹中的页面需要引入thymeleaf组件之后经过控制器返回才能访问到。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
  </dependency>
</dependencies>

2.3 加入layui

去LayUI官网下载LayUI文件,添加到项目的static目录下

2.4 编写页面

在templates目录下新建HTML文件

我这里复制layui官网的后台布局模板,这里注意:

springboot 对Thymeleaf模板引擎有很多默认配置,如

  • 默认页面映射路径为: classpath:/templates/
  • 默认的文件后缀为: .html

程序编译之后static文件夹下的文件和templates文件夹下的文件其实会出现在同一个目录下,引入样式或者默认图片的时候,注意不要加在路径加/static,下面这种写法是错误的:

<link rel="stylesheet" href="../static/layui/css/layui.css">
<script src="../static/layui/layui.js"></script> 

但是如要在IDEA中直接打开HTML页面,不依赖项目启动的话,需要在静态资源引入时在路径加上/static,因为/static是SpringBoot项目启动后才生效配置的默认路径

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <title>layout 后台大布局 - Layui</title>
  <link rel="stylesheet" href="../layui/css/layui.css">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
  <div class="layui-header">
    <div class="layui-logo">layui 后台布局</div>
    <!-- 头部区域(可配合layui已有的水平导航) -->
    <ul class="layui-nav layui-layout-left">
      <li class="layui-nav-item"><a href="">控制台</a></li>
      <li class="layui-nav-item"><a href="">商品管理</a></li>
      <li class="layui-nav-item"><a href="">用户</a></li>
      <li class="layui-nav-item">
        <a href="javascript:;">其它系统</a>
        <dl class="layui-nav-child">
          <dd><a href="">邮件管理</a></dd>
          <dd><a href="">消息管理</a></dd>
          <dd><a href="">授权管理</a></dd>
        </dl>
      </li>
    </ul>
    <ul class="layui-nav layui-layout-right">
      <li class="layui-nav-item">
        <a href="javascript:;">
          <img src="http://t.cn/RCzsdCq" class="layui-nav-img">
          贤心
        </a>
        <dl class="layui-nav-child">
          <dd><a href="">基本资料</a></dd>
          <dd><a href="">安全设置</a></dd>
        </dl>
      </li>
      <li class="layui-nav-item"><a href="">退了</a></li>
    </ul>
  </div>
  
  <div class="layui-side layui-bg-black">
    <div class="layui-side-scroll">
      <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
      <ul class="layui-nav layui-nav-tree"  lay-filter="test">
        <li class="layui-nav-item layui-nav-itemed">
          <a class="" href="javascript:;">所有商品</a>
          <dl class="layui-nav-child">
            <dd><a href="javascript:;">列表一</a></dd>
            <dd><a href="javascript:;">列表二</a></dd>
            <dd><a href="javascript:;">列表三</a></dd>
            <dd><a href="">超链接</a></dd>
          </dl>
        </li>
        <li class="layui-nav-item">
          <a href="javascript:;">解决方案</a>
          <dl class="layui-nav-child">
            <dd><a href="javascript:;">列表一</a></dd>
            <dd><a href="javascript:;">列表二</a></dd>
            <dd><a href="">超链接</a></dd>
          </dl>
        </li>
        <li class="layui-nav-item"><a href="">云市场</a></li>
        <li class="layui-nav-item"><a href="">发布商品</a></li>
      </ul>
    </div>
  </div>
  
  <div class="layui-body">
    <!-- 内容主体区域 -->
    <div style="padding: 15px;">内容主体区域</div>
  </div>
  
  <div class="layui-footer">
    <!-- 底部固定区域 -->
    © layui.com - 底部固定区域
  </div>
</div>
<script src="../layui/layui.js"></script>
<script>
//JavaScript代码区域
layui.use('element', function(){
  var element = layui.element;
  
});
</script>
</body>
</html>

 2.5 测试

编写Controller测试访问templates下的页面

注意:如果你在static下请求不到js、css、等静态资源时,报错net::ERR_ABORTED 404

可以尝试下面的方法(记得检查清楚自己的文件路径是否写对)

  • 保证编码格式正确js加入type=“text/javascript”,css引入加入rel=“stylesheet”,重启idea软件(亲测解决)

如果你遇到加入静态资源但加载不到的问题时,建议rebuild一下整个项目,然后compile一下,如果还不行,则建议重新启动一下IDEA

@RequestMapping("/admin")
@Controller
public class IndexController {

    @GetMapping("/index")
    public String index(){
        return "index";
    }
}

测试结果

三.layui自定义图标

layui这个框架其他都还好,就是自带的图标太少了,只有168个

layui 的所有图标全部采用字体形式定义,取材于阿里巴巴矢量图标库(https://www.iconfont.cn/)

3.1 下载图标

去阿里巴巴矢量图标库下载你需要的图标

3.2 添加图标

把阿里巴巴图标的图标代码下载到本地解压,将下面标注的文件复制到layui的自定义myicons文件夹

3.3 页面引用

在templates目录下的html页面导入使用

  • 导入
<link rel="stylesheet" href="../layui/myicons/iconfont.css" type="text/css">
  • 使用(查看iconfont.css下的图标定义进行取用)

<i class="iconfont icon-yonghuliebiao">你是佩奇吗</i>

如果对layui图标使用有什么疑问可以参考官网

以上为个人学习笔记总结

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值