Ⅰ java web 树形结构设计
类似的插件很多 前台引入后其实只需要关心后台的json或者xml结构,比如:
jstree、ztree、easyui tree等等
Ⅱ jstree 怎么使用
JsTree是一个基于JQuery的框架,实现简单,功能比较齐全。项目中急于修改树控件,现学现卖,实现了简单的功能,仅包含异步加载,动态设置节点样式图标,靠着自己看帮助文档,多次尝试一步步完成。
1. 实现异步加载
$("#tvBox").tree({
data : {
async : true,
type : "xml_flat",
[color=red]opts : {
url : URL
}
},
types : {
"default" : {
renameable : false,
deletable : false,
creatable : false,
draggable : false
}
},
ui:{
theme_name : "classic"
},
callback : {
beforedata : function(NODE, TREE_OBJ) {
setParams(NODE, TREE_OBJ); // 获取参数信息
//向服务器传递参数
return { type : type_id, dyj : dyj_id, bdz : bdz_id, jg : jg_id, ept : ept_id }
},//end beforedata
onselect : function(NODE, TREE_OBJ) { // 单击函数,点击设备节点名称的时候在右边显示信息
setParams(NODE, TREE_OBJ); // 获取参数信息
var ids = $(NODE).attr("id").split("-");
// alert(ids[6]);
var subType = ids[1];
var dydj = ids[2];
//alert(type_id+" -- "+ept_id);
var nodeParam="type="+type_id+"&subType="+subType+"&bdz="+bdz_id+"&dydj="+dydj+"&ept="+ept_id;
if (type_id == EptType.dyj) {//点击的是电业局节点
var dyj_url = "pages/omds/ept/dyj/dyj.jsp?dyj="+dyj_id+"&"+nodeParam;
//alert(dyj_url+" -- "+dyj_name);
top.doCreateTabItem(dyj_url,
dyj_name,
dyj_url+"&random="+Math.random(),
dyj_name);//在'主页'标签中显示
}
}, //end onselect
// 只在树第一次加载的时候调用
onload : function(TREE_OBJ) {
$("#tvBox ul li a:first-child ins").hide(); //电业局节点不显示图标
}
}// end callback
}); // end tree()
JsTree支持多种格式的数据源,这里使用了xml格式,其实json格式更好。data中代码即可实现异步加载,通过设置UI参数可以修改主题,callback参数可以对一些事件作出响应,如beforedata可以在发送异步请求之前添加url参数,onselect可以响应生成的树中节点的单击事件,还有open在节点被打开的时候被调用,等等,可以帮助实现很多功能……
--1 碰到比较麻烦的事情是展开子节点向后台传递参数时需要用到父节点的id等信息,需要用到parent函数。
--2 另外,当展开一个节点从后台没有查询到子节点时需要返回<root></root>,不能使<root>,我当时用jdom生成xml碰到后者,出现了问题。
--3 callback中的事件需要自己去尝试才能知道什么时候被触发
2. 实现节点换肤
项目中涉及到得是电业局--变电站--间隔--设备,对于后三者节点图标必须与其状态对应,且状态是动态的,所以需要后台在生成xml的时候设置icon属性
Ⅲ jquery jstree的 refresh函数怎么用
var tree = jQuery.jstree.reference("#jstree");
tree.refresh();
请参考这个国外的网址: http://stackoverflow.com/questions/3682045/how-can-i-refresh-the-contents-of-a-jstree。
我是用ajax加载的jstree,在一个button的onclick中调用了上面两段代码,成功刷新了jstree!
Ⅳ java带有checkbox的树型菜单
<div
style="width: 100%; height: 94%; float: left; background:#f7f7f1;overflow-y:auto;"
id="treeDiv"></div>
<script type="text/javascript">
var selectedNodeID = '';
var org_treeList = new dhtmlXTreeObject(document.getElementById('treeDiv'),"100%","100%",0);
org_treeList.setImagePath("<%=path%>/images/tree/");
org_treeList.enableIEImageFix(true);
org_treeList.enableCheckBoxes(false);
org_treeList.enableDragAndDrop(false);
org_treeList.enableCheckBoxes(1);
org_treeList.enableThreeStateCheckboxes(true);
org_treeList.attachEvent("onOpenStart", function (id, state) {
if(state == '0')
{
org_treeList.setItemImage(id, 'folderOpen.gif','loading.gif');
}
if(state =='1')
{
org_treeList.setItemImage(id, 'folderOpen.gif','folderClosed.gif');
}
return true;
});
org_treeList.setXMLAutoLoading("你的xml地址");
org_treeList.loadXML("你的XML地址");
</script>
上面是页面中的代码 这样的写法是动态加载的, 你可以去下面的地址查看具体用法
Ⅳ 如何分析android bugreport
一、ChkBugReport介绍
ChkBugReport是一个开源工具,它可以把你得到的bugreprot解析成适合阅读的html文件。导出的html文件包含了根据bugreport数据得出的图表和分析结论。
它的源码中用到了以下开源类库: jQuery ,jsTree jquery plugin , tablednd jQuery plugin , tablesorter jQuery plugin ,js-hotkeys, jquery-cookie 。学习输出报告文档型html可以参考源码。
目前ChkBugReport可以从bugreport数据中抽取出如下信息:
1、Stacktraces ChkBugReport可以从bugreport中解析出输出bugreport的最后时刻、导致ANR时刻甚至更多时刻的堆栈信息。在例子中你可以看到进程的优先级和策略都已标示出来,堆栈中耗时的部分颜色是黑红,一些违反Strict Mode的部分(比如主线程中使用数据库)颜色标记为亮红。如果这个线程死锁,在报告的Errors将会出现。
2、Logs 这部分是对system、main和kernel日志的分析,在这里你可以看到每个进程内存使用图、那个程序产生的log最多、Activity的启动耗时、数据库操作耗时统计、对象被锁定时间、AIDL调用时间、Activity和Service的生命周期及其在内存中使用频率等等,详见
3、Packages ChkBugReport解析bugreport中存储的packages.xml并展示一系列的packages、user ids和 permissions。参见
4、Processes 操作app过程中产生的系统事件日志、内存使用信息等等,参见
5、Battery statistics 电池使用统计信息,参见
6、CPU Frequency statistics CPU频率统计信息,参见
7、Raw data 被分割成小段的原始数据
同时ChkBugReport也可以检测到(潜在的)错误,这些错误在输出的报告Errors部分中可以找到。你也可以在输出报告的stacktrace中找到死锁或一些违反Strict Mode的行为。
二、ChkBugReport使用
使用很简单:1 java -jar $HOME/Downloads/chkbugreport.jar $HOME/tmp/bugreport.txt
你也可以把chkbugreport.jar加到path下,然后这样使用1 chkbugreport thebugreport.txt
该工具将根据你的bugreport数据输出一个分析结果目录bugreport_out。
你可以使用如下命令取得bugreport:1 adb shell bugreport > bugreport.txt
当然你可以使用ChkBugReport分析bugreport的部分数据比如/data/anr/traces.txt1 chkbugreport -sl:the_system_log.txt -sa:traces.txt mmy
这将输出分析结果到mmy_out。
你甚至可以使用ChkBugReport分析traceview生成的数据1 chkbugreport -t something.prof
Prof数据生成方法可以参考以下方法:
1、可以使用eclipse插件traceview生成
2、也可以按如下步骤:
a.用adb shell ps列出所有进程并找出你想要trace的进程的PID
b.执行adb shell am profile PID start /data/profile.dat,开始分析
c.操作你的app
d.执行adb shell am profile PID stop ,停止分析
e.导出数据并清除临时文件:adb pull /data/profile.dat adb shell rm /data/profile.dat
f.使用ChkBugReport进行分析 chkbugreport -t profile.dat
Ⅵ 怎么把字符串赋值给treeNodes
择ztree替代jstree是因为ztree的官网的api文档详细,容易理解。
下面说下在开发中ztree的2个功能的实现
1、给树赋值如下图
代码如下:
//修改-人员管理
function achievementmag_peopedit_click(id){
achievementmag_peop_add=false;
achievementmag_peop_validform.resetForm();
//以下代码实现树赋值
var treeObj = $.fn.zTree.getZTreeObj("achievementmag_peop_structure");//根据 treeId 获取 zTree 对象
var node=treeObj.getNodeByParam("id",id, null);//根据节点数据的属性(id)获取条件完全匹配的节点数据 JSON 对象集合
treeObj.selectNode(node,false);//根据节点数据选中指定节点,false表示单独选中,之前选中的节点会被取消选中状态,为true 表示追加选中
Ⅶ 如何用jsTree.js实现结点展开和收拢时图标的变化
您好,很高兴为您解答。
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<metahttp-equiv="X-UA-Compatible"content="IE=edge"><!--IE使用它所支持的最新版本-->
<metaname="viewport"content="width=device-width,initial-scale=1.0">
<title>tree</title>
<linkhref="../css/bootstrap.min.css"rel="stylesheet">
<linkhref="../css/style.min.css"rel="stylesheet">
<linkhref="../css/font-awesome.min.css"rel="stylesheet">
</head>
<body>
<divid="myTree">
<ul>
<li>Root1</li>
<li>Root2
<ul>
<liid="child1">
<a>child1</a>
<ul>
<li>child1-1</li>
<li>child1-2</li>
</ul>
</li>
<li>child2</li>
<li>child3</li>
</ul>
</li>
<li>Root3</li>
</ul>
</div>
<scriptsrc="../js/jquery.min.js"></script>
<scriptsrc="../js/bootstrap.min.js"></script>
<scriptsrc="../js/jstree.min.js"></script>
<script>
$(function(){
$('#myTree').jstree();
$('#myTree').on("changed.jstree",function(e,data){
console.log(data.selected);
});
$('button').on('click',function(){
$('#myTree').jstree(true).select_node('child1');
$('#myTree').jstree('select_node','child1');
$.jstree.reference('#myTree').select_node('child1');
});
});
</script>
</body>
</html>
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~O(∩_∩)O~
Ⅷ java使用jstree做了一个树形结构。我在节点下面自己写了一个span标签。怎么在js中获取这个span标签的内容
$("选择器").html()可以直接获取这个span里面所有的html片段
Ⅸ 我想用Java 写一个 jstree 的 json 数据对象的封装 类 不知道怎么写 ,
你可以找专门的做java到json转化的工具类,使用起来很简单,不用自己写生成json的代码。
这种工具类有很多。在网上随便一搜就有。
Ⅹ 用java怎么写一个栏目树
前台显示的树和Java没关系,都是用js实现的,试试jstree,jstree.org