• EasyUI入门


    jQueryEasyUI

    • jQuery EasyUI是一组基于jQuery的UI插件集合体,目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。
    • 开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。
    • Query EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格)、treegrid(树形表格)、 panel(面板)、combo(下拉组合)等等。 用户可以组合使用这些组件,也可以单独使用其中一个。

    EasyUI特点

    Query EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。

    特点:

    1. 基于jquery用户界面插件的集合
    2. 为一些当前用于交互的js应用提供必要的功能
    3. EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel({...}))和html标记方式(如:class="easyui-panel")
    4. 开发产品时可节省时间和资源
    5. 简单,但很强大
    6. 支持扩展,可根据自己的需求扩展控件

    jQuery EasyUI 离线简体中文(可下载的离线文档)

    http://download.csdn.net/album/detail/343

    EasyUI实例

    layout布局

    导入需要的外部资源文件(js和css)以及jar包

     EasyUI实例所需要用到的jar文件

     引入js文件和css文件

    新建一个jsp页面在<head>引入js文件和css样式</head>(切记query.min.js一定得在jquery.easyui.min.js上,顺序不能颠倒)

     1 <head>
     2 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     3 <title>Insert title here</title>
     4 <!-- Ctrl+Shift+r -->
     5 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/public/easyui5/themes/default/easyui.css">   
     6 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/public/easyui5/themes/icon.css">  
     7 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/public/easyui5/jquery.min.js"></script>  
     8 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/public/easyui5/jquery.easyui.min.js"></script>   
     9 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/index.js"></script>   
    10 </head>

     

    layout布局案例

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 <!-- Ctrl+Shift+r -->
     9 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/public/easyui5/themes/default/easyui.css">   
    10 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/public/easyui5/themes/icon.css">  
    11 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/public/easyui5/jquery.min.js"></script>  
    12 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/public/easyui5/jquery.easyui.min.js"></script>   
    13 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/index.js"></script>   
    14 </head>
    15 <body class="easyui-layout">
    16     <div data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding:10px">north region</div>
    17     <div data-options="region:'west',split:true,title:'West'" style="150px;padding:10px;">
    18     </div>
    19     <div data-options="region:'east',split:true,collapsed:true,title:'East'" style="100px;padding:10px;">east region</div>
    20     <div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px;">south region</div>
    21     <div data-options="region:'center',title:'Center'">
    22     <div id="menuTab" class="easyui-tabs" style="">   
    23     <div title="首页" style="padding:20px;display:none;">   
    24         欢迎   
    25     </div>       
    26 </div>      
    27     </div>
    28 </body>
    29 </html>

    效果图

     

    通过树形菜单tree加载菜单和tabs(通过菜单去打开不同的tab页)

    导入工具类

     

    导入tree_data1.json文件

     1 [{
     2     "id":1,
     3     "text":"My Documents",
     4     "children":[{
     5         "id":11,
     6         "text":"Photos",
     7         "state":"closed",
     8         "children":[{
     9             "id":111,
    10             "text":"Friend"
    11         },{
    12             "id":112,
    13             "text":"Wife"
    14         },{
    15             "id":113,
    16             "text":"Company"
    17         }]
    18     },{
    19         "id":12,
    20         "text":"Program Files",
    21         "children":[{
    22             "id":121,
    23             "text":"Intel"
    24         },{
    25             "id":122,
    26             "text":"Java",
    27             "attributes":{
    28                 "p1":"Custom Attribute1",
    29                 "p2":"Custom Attribute2"
    30             }
    31         },{
    32             "id":123,
    33             "text":"Microsoft Office"
    34         },{
    35             "id":124,
    36             "text":"Games",
    37             "checked":true
    38         }]
    39     },{
    40         "id":13,
    41         "text":"index.html"
    42     },{
    43         "id":14,
    44         "text":"about.html"
    45     },{
    46         "id":15,
    47         "text":"welcome.html"
    48     }]
    49 }]

    树形菜单实体类

    作用:通过TreeNode类转换成tree_data1.json的字符串

     1 package com.easyui.entity;
     2 
     3 import java.util.ArrayList;
     4 import java.util.HashMap;
     5 import java.util.List;
     6 import java.util.Map;
     7 
     8 /**
     9  * 作用是通过TreeNode类转换成tree_data1.json的字符串
    10  * @author Administrator
    11  *
    12  */
    13 public class TreeNode {
    14 
    15     private String id;
    16     private String text;
    17     private List<TreeNode> children = new ArrayList<>();
    18     private Map<String, Object> attributes = new HashMap<>();
    19     public String getId() {
    20         return id;
    21     }
    22     public void setId(String id) {
    23         this.id = id;
    24     }
    25     public String getText() {
    26         return text;
    27     }
    28     public void setText(String text) {
    29         this.text = text;
    30     }
    31     public List<TreeNode> getChildren() {
    32         return children;
    33     }
    34     public void setChildren(List<TreeNode> children) {
    35         this.children = children;
    36     }
    37     public Map<String, Object> getAttributes() {
    38         return attributes;
    39     }
    40     public void setAttributes(Map<String, Object> attributes) {
    41         this.attributes = attributes;
    42     }
    43     @Override
    44     public String toString() {
    45         return "TreeNode [id=" + id + ", text=" + text + ", children=" + children + ", attributes=" + attributes + "]";
    46     }
    47     
    48     
    49     
    50 }

    index.js文件

    • 存在执行选项卡选中操作
    • 不存在执行新增的操作
     1 $(function(){
     2      $('#tt').tree({    
     3     url:'menuAction.action?methodName=menuTree',
     4     onClick: function(node){
     5 //        alert(node.text);  // 在用户点击的时候提示
     6         // add a new tab panel    
     7         var content = '<iframe scrolling="no" frameborder="0" src="'+node.attributes.menuURL+'" width="99%" height="99%"></iframe>';
     8         if ($('#menuTab').tabs('exists',node.text)) {
     9             //存在执行选项卡选中操作
    10             $('#menuTab').tabs('select',node.text);
    11         }else {
    12             //不存在执行新增的操作
    13             $('#menuTab').tabs('add',{    
    14                 title:node.text,    
    15                 content:content,    
    16                 closable:true                   
    17             });  
    18         }        
    19     }
    20 });       
    21 })

    MenuDao继承JsonBaseDao

    •  给前台tree_data1_json的字符串
    • {'Menuid':001,'Menuame':'学生管理'}  {id:..,text:...}
    • [{'Menuid':001,'Menuame':'学生管理'},{'Menuid':002,'Menuame':'后勤管理'}]
     1 package com.easyui.dao;
     2 
     3 import java.sql.SQLException;
     4 import java.util.ArrayList;
     5 import java.util.HashMap;
     6 import java.util.List;
     7 import java.util.Map;
     8 
     9 import com.easyui.entity.TreeNode;
    10 import com.easyui.util.JsonBaseDao;
    11 import com.easyui.util.JsonUtils;
    12 import com.easyui.util.PageBean;
    13 import com.easyui.util.StringUtils;
    14 
    15 public class MenuDao extends JsonBaseDao{
    16 
    17     /**
    18      * 给前台tree_data1_json的字符串
    19      * @param paMap 从前台jsp传递过来的参数集合
    20      * @param pageBean
    21      * @return
    22      * @throws SQLException 
    23      * @throws IllegalAccessException 
    24      * @throws InstantiationException 
    25      */
    26     public List<TreeNode> listTreeNode(Map<String, String[]> paMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
    27        List<Map<String, Object>> listMap = this.listMap(paMap, pageBean);
    28        List<TreeNode> listTreeNode=new ArrayList<TreeNode>();
    29        this.listMapToListTreeNode(listMap, listTreeNode);
    30        return listTreeNode;
    31     }
    32     
    33     public List<Map<String, Object>> listMap(Map<String, String[]> paMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
    34         String sql="select * from t_easyui_menu where true";
    35         String menuId=JsonUtils.getParamVal(paMap, "Menuid");
    36         if(StringUtils.isNotBlank(menuId)) {
    37             sql+=" and parentid="+menuId;
    38         }
    39         else {
    40             sql+=" and parentid=-1";
    41         }
    42         //这里面存放的是数据库中的菜单信息
    43       List<Map<String, Object>> listMap = super.executeQuery(sql, pageBean);
    44          return listMap;
    45      }
    46     /**
    47      * {'Menuid':001,'Menuame':'学生管理'}
    48      * -->
    49      * {id:..,text:...}
    50      * @param map
    51      * @param treeNode
    52      * @throws SQLException 
    53      * @throws IllegalAccessException 
    54      * @throws InstantiationException 
    55      */
    56     private void MapToTreeNode(Map<String, Object> map,TreeNode treeNode) throws InstantiationException, IllegalAccessException, SQLException {
    57         treeNode.setId(map.get("Menuid")+"");
    58         treeNode.setText(map.get("Menuname")+"");
    59         treeNode.setAttributes(map);         
    60         //将子节点添加到父节点当中,建立数据之间的父子关系
    61         //treeNode.setChildren(children);
    62         Map<String, String[]> childrenMap=new HashMap<>();
    63         childrenMap.put("Menuid", new String[]{treeNode.getId()});
    64         List<Map<String, Object>> listMap = this.listMap(childrenMap, null);
    65         List<TreeNode>listTreeNode = new ArrayList<>();
    66         this.listMapToListTreeNode(listMap, listTreeNode);
    67         treeNode.setChildren(listTreeNode);
    68     }
    69     /**
    70      * [{'Menuid':001,'Menuame':'学生管理'},{'Menuid':002,'Menuame':'后勤管理'}]
    71      * @param listMap
    72      * tree_data1_json
    73      * @param listTreeNode
    74      * @throws SQLException 
    75      * @throws IllegalAccessException 
    76      * @throws InstantiationException 
    77      */
    78     private void listMapToListTreeNode (List<Map<String, Object>> listMap,List<TreeNode> listTreeNode) throws InstantiationException, IllegalAccessException, SQLException{
    79         TreeNode treeNode = null;
    80         for (Map<String, Object> map : listMap) {
    81             treeNode=new TreeNode();
    82             MapToTreeNode(map, treeNode);
    83             listTreeNode.add(treeNode);
    84         }
    85     }
    86 }

    MenuAction 

     1 package com.easyui.web;
     2 
     3 import java.sql.SQLException;
     4 import java.util.List;
     5 
     6 import javax.servlet.http.HttpServletRequest;
     7 import javax.servlet.http.HttpServletResponse;
     8 
     9 import com.easyui.dao.MenuDao;
    10 import com.easyui.entity.TreeNode;
    11 import com.easyui.util.ResponseUtil;
    12 import com.fasterxml.jackson.databind.ObjectMapper;
    13 import com.zking.framework.ActionSupport;
    14 
    15 public class MenuAction extends ActionSupport{
    16      private MenuDao menuDao = new MenuDao();
    17     
    18     public String menuTree(HttpServletRequest req,HttpServletResponse resp) {
    19         ObjectMapper om = new ObjectMapper();
    20          List<TreeNode> listTreeNode;
    21         try {
    22              listTreeNode = this.menuDao.listTreeNode(req.getParameterMap(),null);
    23              System.out.println(listTreeNode);
    24             ResponseUtil.write(resp, om.writeValueAsString(listTreeNode));
    25         } catch (Exception e) {
    26             // TODO Auto-generated catch block
    27             e.printStackTrace();
    28         }
    29         
    30         return null;
    31         
    32     }
    33 }

     

    配置mvc.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <config>
     3     <!-- <action path="/regAction" type="test.RegAction">
     4         <forward name="failed" path="/reg.jsp" redirect="false" />
     5         <forward name="success" path="/login.jsp" redirect="true" />
     6     </action> -->
     7    
     8     <action path="/menuAction" type="com.easyui.web.MenuAction">
     9     </action>
    10     
    13 </config>

    index.jsp页面全码

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 <!-- Ctrl+Shift+r -->
     9 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/public/easyui5/themes/default/easyui.css">   
    10 <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/public/easyui5/themes/icon.css">  
    11 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/public/easyui5/jquery.min.js"></script>  
    12 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/public/easyui5/jquery.easyui.min.js"></script>   
    13 <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/index.js"></script>   
    14 </head>
    15 <body class="easyui-layout">
    16     <div data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding:10px">north region</div>
    17     <div data-options="region:'west',split:true,title:'West'" style="150px;padding:10px;">
    18     <ul id="tt"></ul> 
    19     </div>
    20     <div data-options="region:'east',split:true,collapsed:true,title:'East'" style="100px;padding:10px;">east region</div>
    21     <div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px;">south region</div>
    22     <div data-options="region:'center',title:'Center'">
    23     <div id="menuTab" class="easyui-tabs" style="">   
    24     <div title="首页" style="padding:20px;display:none;">   
    25         欢迎   
    26     </div>       
    27 </div>      
    28     </div>
    29 </body>
    30 </html>

    效果图

  • 相关阅读:
    集训日记
    各种考试
    树上差分
    树的直径
    讲课
    adb常用命令
    关于appium的简单理解
    使用appium过程中常遇到的坑以及解决方案
    JMeter面试题
    fiddler面试题
  • 原文地址:https://www.cnblogs.com/xcn123/p/11108289.html
Copyright © 2020-2023  润新知