- 爱易网页
-
Java教程
- 怎样将表转入一个树状结构显示
日期:2014-05-18 浏览次数:20836 次
怎样将表转为一个树状结构显示
初学者,正在尝试做一个类似权限管理的东西。
现在有这样一张表t_menu
---------------------------------------------------------
id name parent_id
1 系统设置
2 菜单管理 1
3 角色管理 1
4 用户管理 1
-----------------------------------------------------------
我现在要实现这样的功能,当用户登录的时候判断用户可以操作哪些menu 然后从t_menu表中查找到能够支配的menu 以树装结构的形式显示在jsp界面上
问题是最后一步怎么显示这儿不会了 数据该怎样处理才能实把表数据显示成树状结构?
求大神解救。小弟先谢谢各位了!
------解决方案--------------------
可以自己写一个生成树状字符串的方法。
树用<ul> <li>..来实现,循环List就能得到这个字符串了。
------解决方案--------------------
list<Bean> 转成 json后,放到ztree中。
------解决方案--------------------
BEAN 转json 后台做,请求json 用AJAX:
转换工具类 。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonUtils {
public static String encodeList(Object[] objs) {
return encodeList(Arrays.asList(objs));
}
@SuppressWarnings("unchecked")
public static String encodeList(Collection objs) {
JSONArray list = new JSONArray();
if (objs == null
------解决方案--------------------
objs.size() == 0)
return list.toString();
for (Object ae : objs) {
list.add(ae);
}
return list.toString();
}
@SuppressWarnings("unchecked")
public static String encodeObject(Object obj) {
if (obj instanceof Collection)
return encodeList((Collection) obj);
JSONObject jo = JSONObject.fromObject(obj);
return jo.toString();
}
@SuppressWarnings("unchecked")
public static <T> List<T> decodeList(String str, Class<T> clazz) {
if (str == null
------解决方案--------------------
"".equals(str))
return null;
JSONArray obj = JSONArray.fromObject(str);
Object[] rts = obj.toArray();
List<T> result = new ArrayList<T>(rts.length);
for (int i = 0; i < rts.length; i++) {
Object jo = rts[i];
T ele = (T) JSONObject.toBean((JSONObject) jo, clazz);
result.add(ele);
}
return result;
}
@SuppressWarnings("unchecked")