树的动态加载
树的动态加载
tree.html 触发tree.js里面的$.post("treeAction_showTree",null,function(data){
data为数据库中树的数据
生成树
});
从数据库中获取数据,json格式的数据{ id:311, pId:31, name:"不兼容 IE6", "url":"standardDemo.html", "target":"testIframe"},
建立实体类:Menuitem;json有什么属性就有什么实体属性;
建立映射文件,id设置为assign手动设置id值,这里是写死的;
要进行传输的实体一般要实现implements Serializable;
public class Menuitem implements Serializable{
private Long mid;//id
private Long pid;//pid
private String name;//name
private Boolean isParent;//isParent
private String icon;//icon
}
<hibernate-mapping>
<class name="com.itcast.oa.domain.Menuitem">
<id name="mid" type="java.lang.Long" length="5">
<column name="mid"></column>
<generator class="assigned"></generator>
</id>
<property name="pid" type="java.lang.Long" length="5"></property>
<property name="name" length="20"></property>
<property name="icon" length="100"></property>
<property name="isParent" type="java.lang.Boolean"></property>
</class>
</hibernate-mapping>
用测试方法写进数据库中,补全其他Service和Action;
从页面中得到数据需要请求Action,将实体封装到List里面;提供get方法,页面可以获取;
@Controller("menuitemAction")
@Scope("prototype")
public class MenuitemAction extends BaseAction<Menuitem>{
private Collection<Menuitem> menuitemList;
public Collection<Menuitem> getMenuitemList() {
return menuitemList;
}
public String showAllMenuitem(){
this.menuitemList = this.menuitemService.getAllMenuitems();
return SUCCESS;
}
}
数据返回json格式;
<struts>
<package name="menuitem" namespace="/" extends="json-default">
<action name="menuitemAction_*" method="{1}" class="menuitemAction">
<result type="json"></result>
</action>
</package>
</struts>
---
<link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/jquery-ztree-2.5.js"></script>
<script src="js/tree.js"></script>
<body>
This is my HTML page. <br>
<div>
<ul id="tree" class="tree" style="width:230px; overflow:auto;"></ul>
</div>
</body>
tree.js文件:
var tree = {
/**
* 加载树
*/
setting:{
isSimpleData: true,
treeNodeKey: "mid",
treeNodeParentKey: "pid",
showLine: true,
root:{
isRoot:true,
nodes:[]
}
},
loadTree:function(){
$.post("menuitemAction_showAllMenuitem.action",null,function(data){
$("#tree").zTree(tree.setting, data.menuitemList);
});
}
};
$().ready(function(){
tree.loadTree();
});
-----
struts2中的jsonplugin插件将数据整理成json格式对象,名字为对应的action中的属性名;
---
浙公网安备 33010602011771号