首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

xloadTree组合Struts2实现动态树结构

2012-09-04 
xloadTree结合Struts2实现动态树结构?? 前一段时间做一个管理系统,需要完成一个动态树目录功能,一般方案都

xloadTree结合Struts2实现动态树结构

?? 前一段时间做一个管理系统,需要完成一个动态树目录功能,一般方案都推荐使用xloadtree这个ajax树结构目录组件,下载下来,配置使用还是比较简单的,但在实现动态生成方面,有点麻烦了。

?

?? 所有的demo,动态显示,需要读取一个规定格式的xml文档,然后分析该文档,自动显示相应的数据,这意味着如果不想对xloadtree组件做改动的话,必须为系统中的每一个分类生成一个对应的xml文档保存起来,不好管理,并且对分类做改动,必须对文件进行重新生成,性能必然有问题(虽然分类作为基础数据改动的频率并不高),另外一种方式就是把数据一次性生成一个xml文档,生成过程复杂,也同样不易维护。

?

?? 对js并不是很熟练,也放弃了直接修改xloadtree的想法,还是从比较熟练的Java方面下手,既然每次需要动态的去读取一个xml文档,那么干脆也不生成xml文档静态文件了,每次动态生成一个字符串,然后以文件流的形式直接传递给xloadtree好了。

?

?? 这样,只需要在xload动态获取数据时候,把xml文件的链接,替换为一个动态的Struts动作请求即可,这个是第一步。

?

?? 下一步就是在动作中,返回一个动态的xml文件字符流了,动作配置很简单,将内容转换为一个inputStream流,在流生成上,直接拼字符串,然后转换为流,但是在拼接过程中,太麻烦了,嘿嘿,而且一旦要改动,非常难,很容易出错。

?

? 想到了freemarker,先写好配置文件,然后把列表传入,直接构建相应的xml文档字符流,就简单了,模板文件易于编写和维护,代码里着重于数据的获取,spring提供了很好的freemarker支持,一切ok了。

?

? 然后。。。当然动态树目录结构就完成了。

?

?不过有一点,xloadtree支持链接点击执行js代码,那么支持复选框选择么?demo里面都没哟涉及到,粗略的翻了翻源代码,也米有见到相应的处理。

?

?

热点排行