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>
...全文
191 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
YYSAM 2006-06-08
  • 打赏
  • 举报
回复
搞定了:

response.setContentType("text/xml");
response.setContentLength(document.asXML().length());
呵呵。
YYSAM 2006-06-08
  • 打赏
  • 举报
回复
谢谢,继续寻求帮助
coder1 2006-06-08
  • 打赏
  • 举报
回复
帮顶
YYSAM 2006-06-08
  • 打赏
  • 举报
回复
没事在网上搜索,看到别人也问关于这样的问题,不过他们都搞定了。不是用struts输出的还是jsp,怎么到我这里就不行呢?我做错什么了么?神阿,救救我吧!
YYSAM 2006-06-08
  • 打赏
  • 举报
回复
把上面的简化成:

<tree>
<tree text="Loads tree2.xml" src="tree2.xml"/>
</tree>

这个,去掉了头部,结果还是不行。没办法,分析原因:

在xloadtree。js里面,xmlFileLoaded这个函数=》

// check that the load of the xml file went well
if( oXmlDoc == null || oXmlDoc.documentElement == null) {
alert(oXmlDoc.xml);
}

原来这里报错,结果出来了。就是请求过来的xml文档在解析成XMLDocument的时候有问题了,但是我仔细对比过,就是用servlet输出和直接访问xml文档拿到的xmlHttp.responseText,一样阿。别管多简单,但是就是不行。

累了,忙了一天。希望用过的看过的路过的GGJJ们给个提醒,别说我懒阿,呵呵:)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧