前一段时间做一个管理系统,需要完成一个动态树目录功能,一般方案都推荐使用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里面都没哟涉及到,粗略的翻了翻源代码,也米有见到相应的处理。
分享到:
相关推荐
Struts2 实现动态树 结合Hebernate
使用jquery实现柱状图,通过整合struts2实现从后台得到数据在显示在柱状图中 实现交互功能。
使用struts2实现文件下载功能,可以直接运行!
很容易上手的struts2的树形结构,已经有struts2包,直接部署到tomcat目录就可以是使用,地址为:http://localhost:8080/DtreeDemo/,端口改为自己的端口。更详解的解说,请进我的博客:...
简单的struts2实现登陆,适合新手使用。本人学习struts2的第一个例子
struts1.2实现动态多文件上传,可实现代码全奉献!
简单实现注册登录功能。开发环境为eclipse,使用struts2框架。
struts2树的编写,动态输出struts2树
ExtJs在struts2.0.x下实现动态树的解决方案
用Struts2+mysql实现的简单信息录入,分页查询
使用jsp+struts2实现前台分页技术
struts2实现excel导出struts2实现excel导出struts2实现excel导出struts2实现excel导出
struts2.0+ztree+jquery动态生成树结构,两种方法
STRUTS2+HIBERNATE分页 实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码实现代码详细的分页实现代码
struts 1框架的动态调用也许你会,但是struts2 的动态调用更经典,这个文档让你玩转struts 2 动态调用.......
Struts2实现文件上传的功能,简洁方便,欢迎下载。
这是根据uploadify3 2结合struts2搭建的文件上传环境 可以直接导入eclipse运行 每步实现基本都加了注释 以下是我碰到的问题: 1 判断session是否失效 本实例没测试这个问题 但在工作项目中碰到了 但原因在这里...
用struts2实现用户的注册,涉及到的知识点包括用户名和密码的校验(正则表达式验证);国际化;radio,checkboxlist,optiontransferselect等标签的使用,文件的上传等。
类似百度和淘宝搜索框,输入一部分内容,自动联想相关内容,点击下拉框条目自动完成文本框输入。其中同时包括不通过struts2获取数据的实现方法。参考网址http://jqueryui.com/autocomplete/
论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...