之前用easyui tree做的功能后面由于导入了测试数据,数据一下子庞大了起来,之前写的时候没有使用easyui tree的动态加载功能,结果导致IE果断卡死(坑爹的IE,CHROME完全没压力啊),之后捣鼓了白天去看API弄死弄不出来,后来百度google了一下,在结合自己的项目研究了一下终于搞出来了,上代码:js
t.tree({
url:"/KM3-portlet/html/knowledgePortlet/choiceSubLabel.jsp?groupId=<%=id%>",
onBeforeExpand:function(node,param){
$('#tt<%=j %>').tree('options').url = '/KM3-portlet/html/knowledgePortlet/choiceSubLabel.jsp?id=' + node.id;
}
});
jsp
<%@page import="com.pisoft.portlet.label.model.Label"%>
<%@page import="net.sf.json.JSONArray"%>
<%@page import="java.util.List"%>
<%@page import="com.pisoft.portlet.label.LabelUtil"%>
<%@page import="com.pisoft.portlet.label.TreeNode"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%
String id = request.getParameter("id");
String groupId = request.getParameter("groupId");
String str = "";
if(id==null||"".equals(id)){
TreeNode tn = new TreeNode();
Label label = LabelUtil.getLabelByGroupId(new Long(groupId));
tn.setId(label.getId());
tn.setText(label.getName());
if(label.getChildNumber()==0){
tn.setState("open");
}else{
tn.setState("closed");
}
str = JSONArray.fromObject(tn).toString();
}else{
List<TreeNode> list = LabelUtil.getChildrenByParentId(id);
JSONArray json = JSONArray.fromObject(list);
str = json.toString();
}
out.println(str);
%>
总体思路就是刚开始的url不传id自动生成根节点的json,之后的传一个id去查找子节点来生成json,加班了快3个小时啊..而且坑爹的公司没有加班费,情何以堪,后来来到家里面才搞出来,不过总算是告一段落了。