zoukankan      html  css  js  c++  java
  • easyui入门

    什么是easyui!

    easyui=jquery+html4(用来做后台的管理界面)


    1、通过layout布局

    我们先把该导的包导下

     

    然后就是JSP页面布局

    2、通过tree加载菜单

    先来一个实体类

    public class TreeNode {
      private String id;
      private String text;
      private  List<TreeNode> children=new ArrayList<TreeNode>();
      private  Map<String, Object> attributes=new HashMap<String, Object>();
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
    public List<TreeNode> getChildren() {
        return children;
    }
    public void setChildren(List<TreeNode> children) {
        this.children = children;
    }
    public Map<String, Object> getAttributes() {
        return attributes;
    }
    public void setAttributes(Map<String, Object> attributes) {
        this.attributes = attributes;
    }
    @Override
    public String toString() {
        return "TreeNode [id=" + id + ", text=" + text + ", children=" + children + ", attributes=" + attributes + "]";
    }
      
    
    }

    然后就是DAO方法了

    public class MenuDao extends JsonBaseDao {
        /**
         * 给前台tree_data1_json的字符串
         * @param paMap 从前台jsp传递过来的参数集合
         * @param pageBean
         * @return
         * @throws SQLException 
         * @throws IllegalAccessException 
         * @throws InstantiationException 
         */
        public List<TreeNode> listTreeNode(Map<String, String[]> paMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
           List<Map<String, Object>> listMap = this.listMap(paMap, pageBean);
           List<TreeNode> listTreeNode=new ArrayList<TreeNode>();
           this.listMapToListTreeNode(listMap, listTreeNode);
           return listTreeNode;
        }
        
        public List<Map<String, Object>> listMap(Map<String, String[]> paMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
            String sql="select * from t_easyui_menu where true";
            String menuId=JsonUtils.getParamVal(paMap, "Menuid");
            if(StringUtils.isNotBlank(menuId)) {
                sql+=" and parentid="+menuId;
            }
            else {
                sql+=" and parentid=-1";
            }
            //这里面存放的是数据库中的菜单信息
          List<Map<String, Object>> listMap = super.executeQuery(sql, pageBean);
             return listMap;
         }
        /**
         * {'Menuid':001,'Menuame':'学生管理'}
         * -->
         * {id:..,text:...}
         * @param map
         * @param treeNode
         * @throws SQLException 
         * @throws IllegalAccessException 
         * @throws InstantiationException 
         */
        private void MapToTreeNode(Map<String, Object> map,TreeNode treeNode) throws InstantiationException, IllegalAccessException, SQLException {
            treeNode.setId(map.get("Menuid")+"");
            treeNode.setText(map.get("Menuname")+"");
            treeNode.setAttributes(map);
             
            //将子节点添加到父节点当中,建立数据之间的父子关系
            //treeNode.setChildren(children);
            Map<String, String[]> childrenMap=new HashMap<>();
            childrenMap.put("Menuid", new String[]{treeNode.getId()});
            List<Map<String, Object>> listMap = this.listMap(childrenMap, null);
            List<TreeNode>listTreeNode=new ArrayList<>();
            this.listMapToListTreeNode(listMap, listTreeNode);
            treeNode.setChildren(listTreeNode);
        }
        /**
         * [{'Menuid':001,'Menuame':'学生管理'}'Menuid':002,'Menuame':'后勤管理'}]
         * @param listMap
         * tree_data1_json
         * @param listTreeNode
         * @throws SQLException 
         * @throws IllegalAccessException 
         * @throws InstantiationException 
         */
        private void listMapToListTreeNode (List<Map<String, Object>> listMap,List<TreeNode> listTreeNode) throws InstantiationException, IllegalAccessException, SQLException{
            TreeNode treeNode=null;
            for (Map<String, Object> map : listMap) {
                treeNode=new TreeNode();
                MapToTreeNode(map, treeNode);
                listTreeNode.add(treeNode);
            }
        }
    }

    web层MenuAction

    public class MenuAction extends ActionSupport{
        
        private MenuDao menuDao=new MenuDao();
        
        public String menuTree(HttpServletRequest request,HttpServletResponse response) throws Exception {
            ObjectMapper om=new ObjectMapper();
            //获取到 easyui所识别的json格式
            List<TreeNode> listTreeNode = this.menuDao.listTreeNode(request.getParameterMap(), null);
             ResponseUtil.write(response, om.writeValueAsString(listTreeNode));
           return null;
            
        }                         
        
    }

    然后是mvc.xml配置

         <action path="/menuAction" type="com.web.MenuAction">
            <forward name="index" path="/index.jsp" redirect="false" />
        </action>

    还有一个就是外部JS文件

    $(function(){
        $('#tt').tree({    
            url:'menuAction.action?methodName=menuTree', 
        
        });  
    
    })

    效果图

     web.xml的配置

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app id="WebApp_ID" version="3.1" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <display-name>easyui01</display-name>
    <filter>
    <filter-name>encodingFiter</filter-name>
    <filter-class>com.util.EncodingFiter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>encodingFiter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <servlet>
    <servlet-name>actionServlet</servlet-name>
    <servlet-class>com.framework.ActionServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>actionServlet</servlet-name>
    <url-pattern>*.action</url-pattern>
    </servlet-mapping>
    </web-app>

    3、通过菜单去打开不同的tab页

    这个只要在外部JS里面加些内容就可以了

    $(function(){
        $('#tt').tree({    
            url:'menuAction.action?methodName=menuTree', 
            onClick:function(node){
            
                // add a new tab panel    
                var content = '<iframe scrolling="no" frameborder="0" src="'+node.attributes.menuUrL+'" width="99%" height="99%"></iframe>';
                if($('#menutab').tabs('exists',node.text)){
                    //存在执行选中已有选项卡操作
                    $('#menutab').tabs('select',node.text);
                }else{
                    //不存在执行新增
                    $('#menutab').tabs('add',{    
                        title:node.text,    
                        content:content,    
                        closable:true,    
                    });  
                }
            }
        });  
    
    })

    效果

  • 相关阅读:
    MongoDB 基础学习
    在 PostgreSQL 中使用码农很忙 IP 地址数据库
    在 MySQL 中使用码农很忙 IP 地址数据库
    编译opencv和opencv_contrib
    修改本次提交日志
    clone报告超过限制
    修改gitolite管理员
    libevent简介[翻译]11 连接监听:接收一个TCP连接
    libevent简介[翻译]11 Evbuffers:缓冲IO的功能函数
    Windows查看TCP连接数
  • 原文地址:https://www.cnblogs.com/ztbk/p/11103719.html
Copyright © 2011-2022 走看看