【转载】servlet+hibernate+eclipse架构 xloadtree 动态生成树状结构
想学动态加载树,昨天晚上刚有了初步的成功.
测试页我就用的xloadtree的demo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>XLoadTree Demo (WebFX)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="xtree.js"></script>
<script type="text/javascript" src="xmlextras.js"></script>
<script type="text/javascript" src="xloadtree.js"></script>
<link type="text/css" rel="stylesheet" href="xtree.css" />
<style type="text/css">
body {
background: white;
color: black;
}
</style>
</head>
<body>
<p><button onclick="rti.reload()">Reload Item</button></p>
<script type="text/javascript">
/// XP Look
webFXTreeConfig.rootIcon = "images/xp/folder.png";
webFXTreeConfig.openRootIcon = "images/xp/openfolder.png";
webFXTreeConfig.folderIcon = "images/xp/folder.png";
webFXTreeConfig.openFolderIcon = "images/xp/openfolder.png";
webFXTreeConfig.fileIcon = "images/xp/file.png";
webFXTreeConfig.lMinusIcon = "images/xp/Lminus.png";
webFXTreeConfig.lPlusIcon = "images/xp/Lplus.png";
webFXTreeConfig.tMinusIcon = "images/xp/Tminus.png";
webFXTreeConfig.tPlusIcon = "images/xp/Tplus.png";
webFXTreeConfig.iIcon = "images/xp/I.png";
webFXTreeConfig.lIcon = "images/xp/L.png";
webFXTreeConfig.tIcon = "images/xp/T.png";
//var tree = new WebFXLoadTree("WebFXLoadTree", "tree1.xml");
//tree.setBehavior("classic");
var rti;
var tree = new WebFXTree("Root");
tree.add(new WebFXTreeItem("Tree me 1"));
tree.add(new WebFXLoadTreeItem("Tree me 2", "/tree/buildxml"));
tree.add(rti = new WebFXLoadTreeItem("Tree me 3 (Reload)", "date.xml.pl"));
tree.add(new WebFXTreeItem("Tree me 4"));
document.write(tree);
</script>
</body>
</html>
我把tree.add(new WebFXLoadTreeItem("Tree me 2", "/tree/buildxml"));的src改成我的servlet请求
servlet如下:
package be.successful;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
* 提出数据生成XML文件
*
*/
public class TreeXmlServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try {
response.setContentType("text/xml; charset=UTF-8");
Format format = Format.getCompactFormat();
format.setEncoding("UTF-8");
// String bookname = request.getParameter("xmlname");(没有用到)
BrandDAO brandDAO = new BrandDAO();
Document document = new Document(new Element("tree")); // 创建文档
List brands = brandDAO.getAllItem();
int numberOfColumns = brands.size(); // 获取字段数
PrintWriter outt = response.getWriter();
for (int i = 0; i < numberOfColumns; i++) // 将查询结果取出
{
AbstractBrand mynotebook = (Brand) brands.get(i);
Element tree = document.getRootElement();
Element inner = new Element("tree").setAttribute("text",
mynotebook.getBName());
tree.addContent(inner);
}
XMLOutputter outp = new XMLOutputter(format);
outp.output(document, outt);
outt.flush();
outt.close();
} catch (Exception exp) {
System.out.print("XML 文档生成失败:\n" + exp.getMessage());
exp.printStackTrace();
}
}
}
没有生成XML,直接返回的数据给XloadTree处理.
结果如下:
圈中的为从数据提取的内容
这个架构我用的是servlet+hibernate+eclipse
有什么问题加我QQ:75996716
源码下载:http://download.csdn.net/source/626733
CSDN BLOG: http://blog.csdn.net/collate5