XLoadTree 想说爱你!但。。。。。你怎么不看我一眼!
YYSAM 2006-06-08 01:45:35 整天为树发愁,看到这个家伙在几天前,不过原来也看过只不过没有真正用过。
昨天download下来个1.11版本的,demo很简单。于是打算跑个正式版的demo,打算如下:
用servlet生成xml,找XloadTree来解析。我改了demo.html页面:
<html>
<head>
<title>XLoadTree Demo (WebFX)</title>
<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" />
</head>
<body>
<script type="text/javascript">
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 WebFXTree("Root");
tree.add(new WebFXTreeItem("Tree Item 1"));
tree.add(new WebFXLoadTreeItem("Tree Item 2", "Demo"));
tree.add(new WebFXLoadTreeItem("Tree Item 3", "tree1.xml"));
tree.add(new WebFXTreeItem("Tree Item 4"));
document.write(tree);
</script>
</body>
</html>
其实,就改了一个地方:tree.add(new WebFXLoadTreeItem("Tree Item 2", "Demo"))。后面那个Demo就是个servlet,如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
SAXReader reader = new SAXReader();
Document document = null;
try {
document = reader.read(new File("E:\\EclipeWorkSpace\\xloadtree\\web\\tree1.xml"));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
ServletOutputStream os=response.getOutputStream();
os.print(document.asXML());
os.flush();
os.close();
}
其实很简单,和节点三一样。同一个文件,只不过我用servlet输出了一下。很高兴的跑起来程序,之后开始一直出错。
我曾经尝试过很多中方法,将流输出改为PrintWriter,一样。
于是输出个简单的xml:
<tree>
<tree text="Loads tree2.xml" src="tree2.xml"/>
<tree text="Loads NOT_AVAILABLE.xml" src="NOT_AVAILABLE.xml"
icon="images/xp/folder.png"/>
<tree text="Loads emptytree.xml" src="emptytree.xml"
icon="images/xp/folder.png"/>
<tree text="Loaded Item 3" action="javascript:alert(3)" />
<tree text="Loaded Item 4" action="javascript:alert(4)">
<tree text="Loaded Item 4.1" action="javascript:alert(2.1)" />
<tree text="Loaded Item 4.2">
<tree text="Loaded Item 4.2.1">
<tree text="Loaded Item 4.2.1.2"/>
<tree text="Loaded Item 4.2.1.3"/>
</tree>
<tree text="Loaded Item 4.2.2"/>
</tree>
</tree>
<tree text="WebFX Home" action="http://webfx.eae.net"
icon="http://webfx.eae.net/images/favicon.gif"/>
</tree>