字符串解析成easyui-tree的格式
传入的list:
[30 : null : null, 301503 : null : null, 301501 : null : null, 301502 : null : null, 3015 : null : null]
解析后的json:

public class LeftTreeBean {
public StringBuilder getTreeMenus(List lst, String contextPath) {
StringBuilder model = new StringBuilder("");
String RightName = "";
String RightURL = "";
Map rightMap = new HashMap();
// for (RightObject ro : (ArrayList) lst) {
for (Object ro : lst) {
ro = (RightObject)ro;
String parentId = ((RightObject) ro).getParentID();
if ((parentId == null) || (parentId.trim().length() == 0)
|| (parentId.equalsIgnoreCase("0"))) {
parentId = "0";
}
if (!rightMap.containsKey(parentId)) {
rightMap.put(parentId, new ArrayList());
}
((List) rightMap.get(parentId)).add(ro);
}
List lro = (List) rightMap.get("0");
if (lro != null) {
model.append("[");
Map mt = ConfUtil.getMenus();
// for (RightObject ro : lro) {
for (Object ro : lro) {
ro = (RightObject)ro;
RightName = (String) ((Map) mt.get(((RightObject) ro).getRightID()))
.get("RIGHTNAME");
RightURL = "";
model.append('{').append("key:")
.append(JSONUtilities.quote(((RightObject) ro).getRightID()))
.append(",title:")
.append(JSONUtilities.quote(RightName));
if (rightMap.containsKey(((RightObject) ro).getRightID())) {
model.append(",isFolder:true,children:[\n");
for (RightObject ro2 : (List) rightMap.get(ro.getRightID())) {
Map rItem = (Map) mt.get(ro2.getRightID());
if (rItem != null) {
RightName = (String) rItem.get("RIGHTNAME");
model.append("\t{")
.append("key:")
.append(JSONUtilities.quote(ro2
.getRightID())).append(",title:")
.append(JSONUtilities.quote(RightName));
if (rightMap.containsKey(ro2.getRightID())) {
model.append(",isFolder:true,children:[\n");
for (RightObject ro3 : (List) rightMap.get(ro2
.getRightID())) {
if (mt.containsKey(ro3.getRightID())) {
RightName = (String) ((Map) mt.get(ro3
.getRightID()))
.get("RIGHTNAME");
RightURL = (String) ((Map) mt.get(ro3
.getRightID())).get("URL");
String BUSSFUNCID = ro3.getBussFuncID();
String split = RightURL.indexOf("?") >= 0 ? "&"
: "?";
String url = contextPath
+ RightURL.replace('\\', '/')
+ split + "RightID="
+ ro3.getRightID()
+ "&_menuID="
+ ro3.getRightID() + "&funcID="
+ BUSSFUNCID;
model.append("\t\t{")
.append("key:")
.append(JSONUtilities.quote(ro3
.getRightID()))
.append(",title:")
.append(JSONUtilities
.quote(RightName))
.append(",url:")
.append(JSONUtilities
.quote(url))
.append("},\n");
}
}
model.deleteCharAt(model.length() - 2).append(
"\t\t]");
}
model.append("},\n");
}
}
model.deleteCharAt(model.length() - 2).append("\t]");
}
model.append("},\n");
}
model.deleteCharAt(model.length() - 2).append(']');
}
return model;
}
}
字符串解析成easyui-tree的格式的更多相关文章
- 关于yyyy-MM-dd格式日期字符串,解析成LocalDateTime遇到的问题
yyyy-MM-dd -> LocalDateTime 直接把yyyy-MM-dd格式的日期字符串解析成LocalDateTime会抛出异常 try { LocalDateTime localD ...
- js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时
js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时 >>>>>>>>>&g ...
- Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类
下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...
- JS中将JSON的字符串解析成JSON数据格式《转》
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- JSON字符串解析成JSON数据格式
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
- js 将XML字符串解析成XML文档 --- attribute construct error--- 空白字符与空格问题
最近在做xml在线编辑器,遇到一个字符串解析成xml文档的问题,记录一下. 原始xml内容读取自xml文档 <label class="test" id="labe ...
- VBScript把json字符串解析成json对象的2个方法
这篇文章主要介绍了VBScript把json字符串解析成json对象的2个方法,本文通过MSScriptControl.ScriptControl和jscript实现,需要的朋友可以参考下 asp/v ...
- xml 字符串解析成通用的map
[quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...
- Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示
本例以将 字符串格式的时间转成指定的时间格式显示. 第一步.定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下: import java. ...
- 字符串转换成js的日期格式
js字符串转日期格式 ,JavaScript字符串转日期格式 大家都知道JS是根据结果来确定数据类型的. 当然我们也是可以转化的,下面我就介绍两种关于JS字符串类型转换成日期类型的方法, 我个人比较喜 ...
随机推荐
- C++中类成员函数作为回调函数
注:与tr1::function对象结合使用,能获得更好的效果,详情见http://blog.csdn.net/this_capslock/article/details/38564719 回调函数是 ...
- mysql数据库字段区分大小写的设置方法
alter table t_25_thread_info modify column thread_id varchar(8) character set utf8 collate utf8_bin;
- delphi调用外部程序打开文件
delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...
- 被拒--悲剧之ORA-01017: invalid username/password; logon denied 错误
本地没有安装oracle.安装了oracleclient和PL/SQL Developer.来实现对oracle数据库的可视化操作. 在使用在登录PL/SQL无法登录.提示错误:ORA-01017: ...
- MySQL具体解释(19)----------海量数据分页查询优化
分页的详细解说解说请看http://blog.csdn.net/u011225629/article/details/46775947 查看代码打印1 SELECT * FROM table ORDE ...
- web浏览器中的javascript 1
Html 文档嵌入客户端有4种方式. 1. 内联.放置在<script>和</script>标签对之间. 2.放置在<script>标签的src属性指定的外部文件中 ...
- JS 在html中的位置
前言 当我了解完html在浏览器中的解析渲染流程后,反而又发现了新的困扰自己的问题. Q:即然html要渲染需要渲染树,而渲染树又需要DOMTree和CSSRuleTree,DOMTree需要解析HT ...
- 移动端纯原生JS不依赖ajax后台服务器实现省市县三级联动
最近好多天没有更新文章,是因为公司的项目忙的不行.今天有点时间,就突然想起在移动端项目中遇到三级联动的问题,网上查了很多资料,都是依赖各种插件,或者晦涩难于理解.于是,自己决定写一个出来. 当然,没有 ...
- 【转】QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化
//QString to wchar_t *: const wchar_t * encodedName = reinterpret_cast<const wchar_t *>(fileNa ...
- JQuery中文本框获取焦点
今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用jQuery的话 是不是对象.focus()就可以了, 可是当我 ...