tree前端实现代码以及结果

tree前端实现代码以及结果

tree前端实现

前言

实现tree前端,接着上一篇文章继续,最终实现的效果图如下:
在这里插入图片描述

导入mvc.jar

在这里插入图片描述
有些地方需要变动
在这里插入图片描述
ResponseUtil

package com.mengyuan.util;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import com.fasterxml.jackson.databind.ObjectMapper;

public class ResponseUtil {
	public static void write(HttpServletResponse response,Object o)throws Exception{
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out=response.getWriter();
		out.println(o.toString());
		out.flush();
		out.close();
	}
	
	public static void writeJson(HttpServletResponse response,Object o)throws Exception{
		response.setContentType("text/html;charset=utf-8");
		 ObjectMapper om = new ObjectMapper();
		 String jsonstr = om.writeValueAsString(o);
		PrintWriter out=response.getWriter();
		out.println(jsonstr.toString());
		out.flush();
		out.close();
	}


}

PermissionDao

package com.mengyuan.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.mengyuan.entity.Menu;
import com.mengyuan.entity.Permission;
import com.mengyuan.util.BaseDao;
import com.mengyuan.util.BuildTree;
import com.mengyuan.util.PageBean;
import com.mengyuan.vo.TreeVo;

public class PermissionDao extends BaseDao<Permission> {


	/**
	 * 是直接从数据库中获取到数据
	 * @param permission
	 * @param pageBean
	 * @return
	 * @throws Exception 
	 * @throws SQLException
	 */
	public List<Permission> list(Permission permission,PageBean pageBean) throws Exception{
		String sql = "select * from t_easyui_Permission";
		return super.executeQuery(sql, Permission.class, pageBean);		
	}
	
	/**
	 * 能够将数据库中的数据,体现父子结构
	 * @param permission
	 * @param pageBean
	 * @return
	 * @throws Exception 
	 * @throws SQLException
	 */
	 public List<TreeVo<Permission>> topNode(Permission permission,PageBean pageBean) throws Exception{
		List<Permission> list = this.list(permission, pageBean);

		List<TreeVo<Permission>> nodes = new ArrayList<TreeVo<Permission>>();
	
		TreeVo treeVo = null;
		for (Permission p : list) {
			treeVo = new TreeVo();
			treeVo.setId(p.getId()+"");
			treeVo.setText(p.getName());
			treeVo.setParentId(p.getPid()+"");
			Map<String, Object> attributes = new HashMap<String, Object>();
			attributes.put("self", p);
			treeVo.setAttributes(attributes);
			nodes.add(treeVo);
		}
		return  BuildTree.buildList(nodes,"0");						
	}

PermissionAction:处理拿到返回读取值json的方法,

package com.mengyuan.web;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.mengyuan.dao.PermissionDao;
import com.mengyuan.entity.Permission;
import com.mengyuan.util.ResponseUtil;
import com.mengyuan.vo.TreeVo;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriven;

public class PermissionAction extends ActionSupport implements ModelDriven<Permission> {
	
	private Permission permission = new Permission();
	
	private PermissionDao permissionDao = new PermissionDao(); 

	@Override
	public Permission getModel() {
		return permission;
	}
	
	
	//第一种方法
//  public String menuTree(HttpServletRequest req,HttpServletResponse resp) {
//	  try {
//		TreeVo<Permission> topNode = this.permissionDao.topNode(null, null);
		List<TreeVo<Permission>> list = new ArrayList<TreeVo<Permission>>();
		list.add(topNode);
//		ResponseUtil.writeJson(resp, list);
//	} catch (InstantiationException e) {
//		e.printStackTrace();
//	} catch (IllegalAccessException e) {
//		e.printStackTrace();
//	} catch (SQLException e) {
//		e.printStackTrace();
//	} catch (Exception e) {
//		e.printStackTrace();
//	}
	  结果码的配置就是为了,在mvc.xml中寻找到底是重定向还是转发
//	return null;	  
//  }
	
	//第二种方法
	 public String menuTree(HttpServletRequest req,HttpServletResponse resp) {
		  try {
			ResponseUtil.writeJson(resp, this.permissionDao.topNode(null, null));
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
//		  结果码的配置就是为了,在mvc.xml中寻找到底是重定向还是转发
		return null;	  
	  }
}

配置mvc

<?xml version="1.0" encoding="UTF-8"?>
<config>	
	<action path="/permission" type="com.mengyuan.web.PermissionAction">
		<!-- <forward name="index" path="/index.jsp" redirect="false" /> -->
	</action>
</config>

index.js

$(function(){
	alert(11);
	var ctx = $("#ctx").val();
	$('#tt').tree({    
	    url:ctx+'/permission.action?methodName=menuTree'   
	}); 
})

最终显示结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值