//后台
public void update(RequestContext rc) throws IOException {long id = rc.defaultIntParameter();
Task task=taskService.findById(id);
if (task == null) {
rc.errorStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
List<TaskType> types=taskTypeService.findByPid(-1);
StringBuilder json = new StringBuilder();
for(TaskType type:types){
json.append("\"id\":"+type.getId()+",\"text\":\""+type.getName()+"\",\"state\":\"open\",");
this.getChildrenTreeNode(json, type.getId());
}
String jsonStr=json.toString().substring(0, json.toString().lastIndexOf("},"));
List<TaskShowDetail> details=detailService.findByTaskId(Parse.toInt(task.getId().toString()));
rc.attribute("e", task);
rc.attribute("type", jsonStr);
}
//生成子树
public void getChildrenTreeNode(StringBuilder json, long rrid) {
List<TaskType> childrenlist =taskTypeService.findByPid(Parse.toInt(rrid));if (childrenlist != null && !childrenlist.isEmpty()) {
for (int i = 0; i < childrenlist.size(); i++) {
TaskType rr = childrenlist.get(i);
if (i == 0) {
json.append("\"children\":[");
}
json.append("{\"id\":" + rr.getId() + ",\"text\":\""
+ rr.getName() + "\"");
// 加载下级节点
if (i != childrenlist.size() - 1) {
json.append("},");
} else {
json.append("}]},{");
}
}
}
}
//jsp
<script type="text/javascript">
$(function() {
var data2=[{ ${type} }];
$('#tt2').combotree({
checkbox: true,
data: data2,
onClick:function(node){
// alert(node.target);
},
onContextMenu: function(e, node){
e.preventDefault();
$('#tt2').tree('select', node.target);
}
});
$('#tt2').combotree('setValue',${e.type});
})
</script>
<body>
<div id="tt2"></div>
</body>