2013-11-24|3382阅|作者:小蜜锋|举报 摘要:jstree 主页 :
http://www.jstree.com/ 其中提供了一种从后台取数据渲染成树的形式:
$("#mytree").tree({
data : {
type
jstree 主页 :
http://www.jstree.com/
其中提供了一种从后台取数据渲染成树的形式:
-
$("#mytree").tree({
-
data : {
-
type : "json",
-
url : "${ctx}/user/power!list.do"
-
}
-
});
对于url中返回的值必须是它定义的json数据形式:
-
$("#demo2").tree({
-
data : {
-
type : "json",
-
json : [
-
{ attributes: { id : "pjson_1" }, state: "open", data: "Root node 1", children : [
-
{ attributes: { id : "pjson_2" }, data: { title : "Custom icon", icon : "../media/images/ok.png" } },
-
{ attributes: { id : "pjson_3" }, data: "Child node 2" },
-
{ attributes: { id : "pjson_4" }, data: "Some other child node" }
-
]},
-
{ attributes: { id : "pjson_5" }, data: "Root node 2" }
-
]
-
}
-
});
这里需要一个从后台实例集合转换为它规定的json数据的形式.
-
/**
-
* 无限递归获得jsTree的json字串
-
*
-
* @param parentId
-
* 父权限id 6.8日修改
-
* @return
-
*/
-
private String getJson(long parentId)
-
{
-
List<Authority> list = authorityManager.queryByParentId(parentId);
-
for (int i = 0; i < list.size(); i++)
-
{
-
Authority au = list.get(i);
-
if (au.getIshaschild() == 1)
-
{
-
str += "{attributes:{id:\"" + au.getAnid()
-
+ "\"},state:\"open\",data:\"" + au.getAnname()
-
+ "\" ,";
-
str += "children:[";
-
this.getJson(au.getAnid());
-
str += "]";
-
str += " }";
-
}
-
else
-
{
-
str += "{attributes:{id:\"" + au.getAnid()
-
+ "\"},state:\"open\",data:\"" + au.getAnname() + "\" "
-
+ " }";
-
}
-
if (i < list.size() - 1)
-
{
-
str += ",";
-
}
-
}
-
return str;
-
}
调用:
-
@org.apache.struts2.convention.annotation.Action(results =
-
{ @Result(name = "success", location = "/main/user/action-list.jsp") })
-
public String list()
-
{
-
String str = "[";
-
// 从根开始
-
str += this.getJson(0);
-
str += "]";
-
this.renderJson(str);
-
return null;
-
}