ss :
- Folder
- Sub Folder 1
- File 2
- File 3
- File21
initial tree by java script:
Dynamic load tree :
2、TreeAction:
package com.chy.ssh.web.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.chy.ssh.business.bean.TreeDTO;
import com.chy.ssh.business.bean.modal.EasyUITree;
import com.chy.ssh.business.service.TreeService;
import com.chy.ssh.utils.WriteJson;
import com.opensymphony.xwork2.ActionSupport;
public class TreeAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private TreeService treeService;
private String id;
public void treeLoad(){
//从数据库中查询的保存tree的集合、比如id、父类id、text等等、可自己扩展
List
list = treeService.getTreesByParentId(id);
//用于前台显示的tree的属性、比如id、state、text、checked等等
List
eList = new ArrayList
(); if(list.size() != 0){ for(TreeDTO t : list){ EasyUITree e = new EasyUITree(); e.setId(t.getId()); e.setText(t.getText()); Map
attributes = new HashMap
(); attributes.put("url", t.getUrl()); e.setAttributes(attributes); int count = treeService.countChildrens(t.getId()); if(count > 0){ //注意state这个属性、当他为open时、说明这个节点是个文件夹、会以文件夹的形式显示、 //当他是closed的时候、说明这个节点是一个具体的文件节点、不会以文件夹的形式显示。 e.setState("closed"); } eList.add(e); } } id = null; //将含有用于显示tree的信息的集合、转换成json格式、传到前台。 WriteJson.pwObj(eList); } public TreeService getTreeService() { return treeService; } public void setTreeService(TreeService treeService) { this.treeService = treeService; } public String getId() { return id; } public void setId(String id) { this.id = id; } }
3、底层TreeDAOImpl 中间serveice省略:
package com.chy.ssh.business.dao;
import java.util.ArrayList;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.chy.ssh.business.bean.TreeDTO;
public class TreeDAOImpl extends HibernateDaoSupport implements TreeDAO {
public int countChildrens(String id) {
return Integer.parseInt(String.valueOf(this.getHibernateTemplate().find("select count(*) from TreeDTO t where t.pid = '"+id+"'").get(0)));
}
@SuppressWarnings("unchecked")
public List
getTreesByParentId(String id) {
StringBuffer hql = new StringBuffer();
if(id == null || "".equals(id)){
hql.append("from TreeDTO t where t.pid is null ");
}else{
hql.append("from TreeDTO t where t.pid = '"+id+"' ");
}
List
list = new ArrayList
(); try { list = this.getHibernateTemplate().find(hql.toString()); } catch (DataAccessException e) { e.printStackTrace(); } return list; } }
更多内容 : java_easyui体系之目录――00