日期:2014-05-16 浏览次数:20566 次
/*
* 树控件测试方法
* @see com.opensymphony.xwork2.ActionSupport#execute()
*/
public String execute() throws Exception {
// 从数据库中查询出顶级节点的类。参数1 是指数据库表中序号为1,只有一个,代表父类。
Party party = partyService.findparty(1);
Set<Party>partySet = new HashSet<Party>();
Set<Party> set = partyService.findAllChildren(party, partySet);
Map map = new HashMap();
// 将set放入map中,好在页面显示。
for (Party p: set) {
map.put(p.getId(), p);
}
request.setAttribute("map",map);
return "dtree";
}
public Set<Party> findAllChildren(Party party, Set<Party> parties) {
// 子节点中去除自己本身
if (party.getChildren().contains(party)) {
party.getChildren().remove(party);
}
parties.addAll(party.getChildren());
// 如果有子部门,查询子部门的子部门
if (party.getChildren().size() > 0) {
for (Party child : party.getChildren()) {
findAllChildren(child, parties);
}
}
return parties;
}
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <%=basePath%>
<head>
<script src=" <%=basePath + "js/jquery/lib/jquery.js"%>" type="text/javascript"> </script>
<!--
<script src=" <%=basePath + "js/jquery/lib/jquery.cookie.js"%>" type="text/javascript"> </script> -->
<script src=" <%=basePath + "js/jquery/jquery.treeview.js"%>" type="text/javascript"> </script>
<script src=" <%=basePath + "js/jquery/lib/myjquery.js"%>" type="text/javascript"> </script>
<link rel="stylesheet" type="text/css" href=" <%=basePath + "js/jquery/jquery.treeview.css"%>">
<link rel="stylesheet" type="text/css" href=" <%=basePath + "js/jquery/screen.css"%>" >
<title>dtree </title>
</head>
<body>
<div id="main">
<ul id="browser" class="filetree">
<span class="folder">
flight
</span>
<s:iterator value="#request.map.keySet()" id="id">
<li>
<s:if test="#request.map.get(#id).leaf == 1">
<