EasyUI(前端框架)

第一节 EasyUI的介绍和常用组件

[1]EasyUI的介绍

  1. 介绍:

EasyUI是一个前端开发的框架,其将常用的页面开发使用的组件进行了
封装,前端开发人员只需将EasyUI的资源导入项目后使用即可,快速
提升开发效率。

  1. 使用:

① 导入EasyUI的资源
② 查阅API文档使用EasyUI的组件完成页面开发

  1. 注意:

使用EasyUI,其实就是在使用别人已经封装好的代码来完成自己的页面开发。
所以必须按照EasyUI的文档说明来使用。所以我们学习EasyUI,其实就是在
学习如何按照EasyUI的文档来使用其组件并且其常用组件有哪些。

[2] EasyUI的常用组件

  1. EasyUI的资源介绍

① 将从官网上下载的EasyUI的资源压缩包解压
在这里插入图片描述
在这里插入图片描述
② demo文件夹
EasyUI官方提供的每个组件的使用示例效果代码。
③ locale文件夹:组件中显示的数据语言的js文件
④ plugins文件夹:是EasyUI提供的组件对应的js文件
⑤ src文件夹:源码文件夹
⑥ themes文件夹:EasyUI官方提供的整套的样式
⑦ jquery.min.js文件:依赖的jquery文件,建议使用官方提供的jquery文件
不要自己随便更换版本,可能会造成版本不兼容。
⑧ jquery.easyui.min.js:封装了所有组件的js文件

2.EasyUI的常用组件

① 基础组件:常用的比较小的功能组件,不是每个网页中都会用到
② 布局组件: 很重要,每个网页都会使用,完成网页的布局的。
③ 菜单与按钮组件:很重要,每个网页都会使用,在网页中完成菜单和按钮的效果
④ 表单组件:很重要,搜集用户数据,封装了常用的数据校验,并支持自定义校验
⑤ 窗口组件:在当前页面中显示子窗口效果,对页面中的功能进行完善。
⑥ 数据网格和树组件:很重要,非常之重要。在网页中显示表格以及树状数据

第二节 EasyUI的组件使用

[1] easyui-panel 面板

  1. 作用:

在网页中显示一个面板效果,可以在面板中显示网页中的数据

  1. 使用:

① 在jsp页面中引入EasyUI的资源
② 在页面创建一个div标签,并设置其class属性,属性值为‘easyui-panel’
③ 在div标签上使用属性data-options设置面板的初始化效果,设置组件的属性和事件,以键值对的形式设置,不同的键值对使用逗号隔开。
④ 可以使用jquery来调用组件提供的方法,根据用户在网页中的行为动作对组件作出对应的操作。

  1. 使用的效果示例代码:
<%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><base href="<%=basePath %>"/><title>Title</title><%--引入easyUI的资源--%><link rel="stylesheet" type="text/css" href="themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="themes/icon.css"><link rel="stylesheet" type="text/css" href="themes/demo.css"><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/jquery.easyui.min.js"></script><%--声明js代码域--%><script type="text/javascript">function test(){$("#my").panel('setTitle','设置标题');}</script>
</head>
<body>
<input type="button" value="测试组件方法的使用" onclick="test()"><%--1.通过标签创建panel组件--%><div style="width: 350px;height: 350px;border: solid 1px;"><div id="my" class="easyui-panel"data-options="title:'我是面板',iconCls:'icon-edit',left:200,top:300,fit:true,content:'我是面板主体',collapsible:true,maximizable:true,onMaximize:function(){alert('aa')}"style="width: 300px;height: 300px;"></div></div>
</body>
</html>
  1. 效果图:
    在这里插入图片描述

[2] easyui的组件使用流程

  1. 在jsp中引入EasyUI的资源
  2. 在jsp页面使用HTML方式或者js方式创建组件
  3. 使用组件的属性和事件来初始化设置组件的效果
  4. 使用组件的方法实现组件和用户交互的效果

[3]easyui-textbox组件

  1. 声明一个普通的input文本标签
  1. 通过js代码的方式完成textbox组件初始化效果元素标签
    .组件名({属性:值,属性:值,…,事件名:函数…})

3.代码示例:

$(function () {$("#uname").textbox({width:300,height:55,label:'用户名:',labelPosition:'top',prompt:'请输入用户名',onChange:function (newValue,oldValue) {//失去焦点的时候触发console.log(newValue+":"+oldValue);}})
})

[4]easyui-passwordbox组件

作用:在页面中显示一个密码框
使用:HTML标签方式或者js方式,参照API文档
效果示例:
在这里插入图片描述

代码示例:

<input class="easyui-passwordbox" prompt="请输入密码" iconWidth="28"data-options="label:'密码:',labelPosition:'top',width:300,height:55">

[5] easyui-combobox下拉框组件

  1. 作用: 在页面中显示一个下拉框效果,提供了丰富的属性和事件可以让我们
    根据需求来设置自己想要的组件效果。
  2. 使用:使用HTML标签方式或者js方式完成创建和初始化设置,参照API
  1. 示例代码:
<select id="cc" class="easyui-combobox" name="dept" style="width:200px;"><option value="aa">aitem1</option><option>bitem2</option><option>bitem3</option><option>ditem4</option><option>eitem5</option>
</select>
  1. 示例图:
    在这里插入图片描述

[6] easyui-datebox 日期框

  1. 作用:在页面中显示一个可以选择日期的文本框
  2. 使用:使用HTML标签创建和初始化或者使用js方式创建和初始化
  1. 示例代码:

① 使用js在初始化创建datebox时完成日期格式的自定义显示

	
/******************初始化设置datebox**********************************************/$(function () {$("#dd").datebox({formatter:function (date) {var y = date.getFullYear();var m = date.getMonth()+1;var d = date.getDate();return y+"-"+m+"-"+d;},parser:function (s) {var t = Date.parse(s);if (!isNaN(t)){return new Date(t);} else {return new Date();}}})})

② 使用HTML标签创建和初始化datebox

<%--datebox日期框--%><input id="dd" type="text" class="easyui-datebox"data-options="editable:false,currentText:'今天',closeText:'关闭'">
  1. 效果图:
    在这里插入图片描述

[7] easyui-layout布局组件

  1. 作用: 使用该组件可以快速完成网页的布局效果
  2. 使用:使用HTML完成页面组件,具体参照API
  3. 方式:
    ① 在div中进行布局
    ② 在整个页面中
    ③ 嵌套布局
  4. 布局区域:东,南,西,北,中五个区域,每个区域都是可选的。
  1. 示例代码:
<body class="easyui-layout"><div data-options="region:'north',split:false" style="height:100px;"></div><div data-options="region:'south',split:false" style="height:100px;"></div><div data-options="region:'east',split:false" style="width:100px;"></div><div data-options="region:'west',split:false" style="width:100px;"></div><div data-options="region:'center',split:false" style="padding:5px;background:#eee;"></div>
</body>
  1. 效果图:
    在这里插入图片描述

[8] easyui-Accordion折叠面板

  1. 作用: 在网页中显示一个可以折叠的面板效果
  2. 使用:使用Html标签完成创建和初始化设置
  1. 代码示例:
<%--accordion组件完成 折叠效果--%>
<div id="aa" class="easyui-accordion" data-options="fit:true,border:false,animate:true,selected:1" style="width:300px;height:200px;"><%--折叠区域--%><div title="Title1" data-options="iconCls:'icon-save'" style="overflow:auto;padding:10px;"><h3 style="color:#0099FF;">Accordion for jQuery</h3><p>Accordion is a part of easyui framework for jQuery.It lets you define your accordion component on web page more easily.</p></div><%--折叠区域--%><div title="Title2" data-options="iconCls:'icon-reload'" style="padding:10px;">content2</div><%--折叠区域--%><div title="Title3">content3</div>
</div>
  1. 效果图:
    在这里插入图片描述

[9]easyui-tree 树组件

  1. 作用:在页面中显示树状数据,主要用来显示有层级关系的数据。
  2. 使用:使用HTML标签创建和初始化,使用js方式创建和初始化
  1. 示例代码:
/****************设置树组件*************************/$(function () {$("#myTree").tree({onClick:function (node) {console.log(node)}})})
<%--声明树状的ul容器--%>
<ul id="myTree" class="easyui-tree"><%--声明一级菜单--%><li><span>超市购物网站</span><%--声明二级菜单细信息--%><ul><li>天猫超市</li><li>京东超市</li><li>永辉超市</li></ul></li><%--声明一级菜单信息--%><li><span>电器购物网站</span><%--声明二级菜单信息--%><ul><li>京东</li><li>苏宁</li><li>国美</li></ul></li><%--普通一级菜单--%><li><span>淘宝网</span></li>
</ul>

4.效果示例图:
在这里插入图片描述

[10]easyui-tabs选项卡组件

  1. 作用:以标签页的形式在一块区域显示多个内容
  2. 使用: 使用HTML标签直接创建和初始化或者使用js方式创建和初始化
  1. 代码示例:
<%--创建选项卡容器--%>
<div id="tt" class="easyui-tabs" style="width:500px;height:250px;" data-options="fit:true,border:true,plain:false,tabPosition:'top'"><%--选项卡面板--%><div title="Tab1" style="padding:20px;display:none;"> tab1</div><%--选项卡面板--%><div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;"> tab2</div><%--选项卡面板--%><div title="Tab3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">tab3</div>
</div>
  1. 效果图示例:
    在这里插入图片描述

第三节 tree菜单和选项卡的联动实现

[1] 功能需求

点击树状菜单的时候,可以在页面的中心区域中新增一个选项卡,显示当前
菜单的资源。如果当前菜单对应的选项卡已经存在,则不会重新创建,而是
选择已经存在的选项卡显示给用户。具有子菜单的一级菜单是无需创建选项卡的

[2] 功能实现

① 给树状菜单的节点增加单击事件
② 在树节点的单击事件中校验当前点击的是资源跳转菜单还是一级菜单
③ 在树节点的单击事件中增加新增选项卡的逻辑
④ 判断菜单节点的选项卡是否存在如果已经存在,则选中,而不是创建

[3] 示例代码

$(function () {$("#myTree").tree({onClick:function (node) {//判断当前点击的节点是否具有子节点var cs=node.children;if(!cs){//判断菜单节点的选项卡是否存在var flag=$("#tt").tabs('exists',node.text);if(flag){//选中菜单节点对用的选项卡$("#tt").tabs('select',node.text);}else{//新增选项卡$("#tt").tabs('add',{title:node.text,closable:true})}}}})
})

[4] 效果图
在这里插入图片描述

第四节 Linkbutton组件

[1] 组件的介绍

以前我们是自己在网页上声明按钮,完成网页和用户的交互操作。而我们的超链接
除了作为资源跳转的使用以外,也可以作为一个按钮的效果存在。只不过,我们自 己使用超链接作为单击按钮,样式比较丑,而EasyUI将其封装了,我们调用即可。

[2] 组件的作用

在页面中显示一个按钮效果,本质:是一个超链接。

[3] 组件的使用

<%--linkbutton组件效果--%><a id="btn" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add'">测试linkbutton按钮</a>

[4] 组件效果图
在这里插入图片描述

第五节 messager消息框组件

组件的介绍

目前我们喜欢在js代码中使用alert语句来在页面弹出一个窗口,来提示用户。
但是我们发现,不同的浏览器alert的效果是不同的。我们希望在不同的浏览器
中显示相同的效果怎么办?原因是alert本质是在调用浏览器自带的弹框效果,
我们提供一个自己的即可。EasyUI的messager消息框组件已经实现。

[1] 组件的使用

$.messager.alert,相当于alter
$.messager.confirm,相当于confirm
$.messager.prompt,相当于prompt

[2] 代码示例

/******************messager消息框组件***************************************/$(function () {//给linkbutton增加单击事件$("#btn").click(function () {//$.messager.alert("警告","你的电脑将在10秒后关机","warning");$.messager.confirm('确认框', '你确定要删除吗?', function (r) {if (r) {alert("aaa:"+r);}});})})

[3] 效果图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速开发一个 Dubbo 应用

转载自 如何快速开发一个 Dubbo 应用 导读&#xff1a;在分布式系统中&#xff0c;远程调用是最基础也是最重要的基石。历史上&#xff0c;曾经先后出现过 CORBA、RMI、EJB、WebService 等技术和规范&#xff0c;在服务化以及微服务日趋流行的今天&#xff0c;更多的被广泛使…

‘小会计’的转行之旅

本文原创&#xff1a;王哈哈1大学学习的专业是会计学&#xff0c;目前社会上来说很普遍的工作&#xff0c;都说会计是越老越吃香&#xff0c;所以一毕业就先找了一份和专业相关的工作&#xff0c;然后就开始了抱着公司的大腿努力工作。毕业三年期间也换了几份工作&#xff0c;本…

【2018.3.17】模拟赛之三-ssl1863jzoj1367 俄罗斯方块【模拟】

正题 链接 需要纪中OJ账号 有7种方块 有n列&#xff0c;给出每列的方块高度&#xff0c;求一种方块所有方面都落地的方案数 输入输出&#xff08;需要自取&#xff09; Input 第一行为二个整数C和P&#xff0c;1 ≤ C ≤ 100, 1 ≤ P ≤ 7&#xff0c;表示列数和下落方…

Python缩进的几个原则

Python的缩进有以下几个原则 顶级代码必须顶行写&#xff0c;即如果一行代码本身不依赖于任何条件&#xff0c;那它必须不能进行任何缩进 同一级别的代码&#xff0c;缩进必须一致 官方建议缩进用4个空格

应用程序的8个关键性能指标以及测量方法

前言 高性能一直是我们作为程序员..孜孜不倦的追求.. 有的时候甚至会为了一句代码吵上几天.. 那么到底应该如何评估我们的性能指标来判断是否需要优化呢? 今天就来讲一下这个.. 说明一下,本篇是译文. 原文地址:https://stackify.com/application-performance-metrics/ …

MyBatis Plus

文章目录第一节 MyBatis Plus 的简介第二节 MyBatis Plus 的框架搭建[1] 第一步&#xff1a;导包[2] 搭建SSM开发环境[3] 在数据库中创建测试表[4] 在pojo层下创建Student表的实体类[5] 在mapper层创建StudentMapper接口并继承BaseMapper接口[6] 创建测试类&#xff0c;并从Spr…

班级日常分享,一天一瞬间

119级日常分享经过两周左右的KTV项目终于要告一段落了&#xff0c;上午先让各个小组在班内试讲了下自己小组所做的KTV点歌系统&#xff0c;整体上做的还可以&#xff0c;有些小组还存在一些细节问题&#xff0c;在试讲的时候也都给他们指了指&#xff0c;相信下来会有所改进的。…

DDOS 攻击的防范教程

转载自 DDOS 攻击的防范教程 一个多月前&#xff0c;阮一峰的个人网站遭受 DDOS 攻击&#xff0c;下线了50多个小时。这篇文章就是他总结的&#xff0c;教大家如何应对这种攻击。 需要说明的是&#xff0c;我对 DDOS 并不精通&#xff0c;从没想过自己会成为攻击目标。攻击…

【2018.3.17】模拟赛之四-ssl1864jzoj1368 燃烧木棒【最短路,Floyd】

正题 链接 需要纪中OJ账号 有n条木棒&#xff0c;长度为1或根号2&#xff0c;给出每根木棒两头的坐标&#xff0c;和燃烧需要的时间。只能从一个木棒的一头开始点火&#xff0c;求燃烧完所有木棒所需要的最短时间。 输入输出&#xff08;需要自取&#xff09; Input 输入…

python变量的创建过程(内存地址变化)

​ name “Alex” 原因 python 解释器有自动垃圾回收机制&#xff0c;自动隔一段时间把没有跟变量名关联的内存数据回收。

推荐一份基于Docker的DevOps实战培训教程

01. 基于Docker的DevOps实战培训 微软工具链 基于Azure和Team Foundation Server 微软DevOps工具链是基于Visual Studio 应用生命周期管理&#xff08;VSALM - Visual Studio Application Lifecycle Managemnet&#xff09;的软件管理平台&#xff0c;本动手实验希望通过模拟一…

所有和Java中代理有关的知识点都在这了

转载自 所有和Java中代理有关的知识点都在这了 对于每一个Java开发来说&#xff0c;代理这个词或多或少都会听说过。你可能听到过的有代理模式、动态代理、反向代理等。那么&#xff0c;到底什么是代理&#xff0c;这么多代理又有什么区别呢。本文就来简要分析一下。 代理技…

神奇!一行代码实现删除某集合下标20-30的元素

大家好&#xff0c;我是雄雄。今天我们还是分享关于集合的内容。假如有这样的需求&#xff0c;已知集合的长度为100&#xff0c;也就是集合中有100个元素&#xff0c;现需要删除索引20-30之间的元素&#xff0c;我们应该怎么实现呢&#xff1f;我们先初始化集合&#xff0c;代码…

ssl初一组周六模拟赛【2018.3.17】

前言 先说一下成绩&#xff1a; 姓名成绩xjq(没错又是他)310hjq200hzb150wyc(本人)130lrz130xxy100lw30zyc缺考 正题 题目1&#xff1a;ssl2574 & jzoj1368 无限序列【斐波那契数列】 刚开始想用分治&#xff0c;结果做不出来&#xff0c;然后想到了更好的方法&#xff…

注意!在subList生成子列表之后,一定不要随便更改原列表

大家好&#xff0c;我是雄雄。前几期我们说过&#xff0c;subList方法是返回原列表的子列表&#xff0c;并且我们还说过&#xff0c;在subList返回的子列表上操作时&#xff0c;会直接影响着原列表&#xff0c;原文在这里&#xff1a;subList?? subString???子列表只是原列…

DotNetCore跨平台~Dockerfile的解释

大叔感觉网上对Dockerfile的说明不是很清楚&#xff0c;或者说怎么去用说的不清楚&#xff0c;在vs2017里我们可以去建立自己的Dockerfile文件&#xff0c;然后你的项目可以被生成一个镜像&#xff0c;把它推到仓库之后&#xff0c;你可以在linux,mac上去run你的项目了&#xf…

当你「ping 一下」的时候,你知道它背后的逻辑吗

转载自 当你「ping 一下」的时候&#xff0c;你知道它背后的逻辑吗 我们在遇到网络不通的情况&#xff0c;大家都知道去 ping 一下&#xff0c;看一下网络状况。 那你知道「ping」命令后背的逻辑是什么吗&#xff1f;知道它是如何实现的吗&#xff1f; 一、「ping」命令的作…

POJ1611-嫌犯【图论,并查集】

正题 题目链接&#xff1a; http://poj.org/problem?id1611 大意 有n个人&#xff0c;m个组&#xff0c;有一个流感嫌犯&#xff0c;流感嫌犯会将所在的组的所有人变成流感嫌犯&#xff0c;求流感嫌犯的数量。 解题思路 并查集将各个组合并&#xff0c;然后看看那些人是和…

python的三元运算

a 10 b 5if a > 15 :c a else:c bd a if a > 15 else bd 值1 if 条件A else 值2如果条件A成立&#xff0c;就取左边的 值1&#xff0c;则 取 值2

​凌云KTV点歌系统功能简介

19级青鸟三班 凌云小组指导老师&#xff1a;穆雄雄老师 班主任&#xff1a;王欣欣老师小组成员&#xff1a;组长&#xff1a;李磊 副组长&#xff1a;杨云浩组员&#xff1a;高启航 朱齐 李欣然 高松 张方仪 王浩如 苏荟旭 贾增伟制作周期&#xff1a;2020年9月25日-10月…