日期:2014-05-17  浏览次数:20614 次

利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决

? 利用DhtmlXtree实现展现,修改,添加,删除,移动功能一棵树上实现,iframe的单个滑动条显示,包含在iframe中树节点中文内容过长问题解决?
?

1、? 把数据库里的数据组成xml格式的字符串

在ComponentFavorFactory类中

??? /**

???? * 收藏文档列表树整理DHtmlXtree控件

???? */

??? public static String getFavorTree(String UserId,HttpServletRequest request){

?????? ApplicationContext ctx = WebApplicationContextUtils

?????? .getRequiredWebApplicationContext(request.getSession().getServletContext());

??????

?????? IFavoriteMgr favoriteMgr = (IFavoriteMgr)ctx.getBean("favoriteMgr");

?????? //查询UserId用户所拥有的收藏夹列表

?????? List userFavoriteList = favoriteMgr.getUserFavoriteDoc(UserId);

??????

?????? // StringBuffer来组装xml字符串

?????? StringBuffer strBuf = new StringBuffer("<?xml version='1.0' encoding='iso-8859-1'?><tree id='0'>");

??????

?????? // 设置数据源

?????? List nodeList = new ArrayList();

?????? Map root = new HashMap();

??????

?????? String rootid = "0";

?????? String rootName="默认收藏夹";

??????

??????? //这里主要是项目需要在每个用户还没有收藏任何文档,也没新建收藏夹前提下,自己为其建一个默认收藏夹。新收藏的文档首先默认放在默认收藏夹目录下,然后用户可根据自己的需要移动到用户自建的收藏夹目录下

?????? for(Iterator iter = userFavoriteList.iterator();iter.hasNext();){

?????????? FavoriteInfo favorite = (FavoriteInfo)iter.next();

?????????? if("默认收藏夹".equals(favorite.getFavorName())){

????????????? rootid = favorite.getFavorId();

????????????? rootName = favorite.getFavorName();

?????????? }

?????? }

??????

?????? strBuf.append(" <item text='"+rootName+"' id='rot"+rootid+"' open='1' im0='folder.gif' im1='openfolder.gif' im2='folder.gif' call='1' select='1'>");

??????

?????? //获取每个收藏夹下的文档列表

for(Iterator iter = userFavoriteList.iterator();iter.hasNext();){

?????????? FavoriteInfo favorite = (FavoriteInfo)iter.next();

??????????

??????????? //默认收藏夹下未归类的文档

?????????? if(rootid.equals(favorite.getFavorId())){

????????????? List userFavoriteDocList = favorite.getFavoriteDocList();

????????????? if(userFavoriteDocList!=null){

????????????????? for(Iterator iter2 = userFavoriteDocList.iterator();iter2.hasNext();){

???????????????????? FavoriteDocInfo favoriteDoc = (FavoriteDocInfo)iter2.next();

???????????????????? strBuf.append("<item text='"+favoriteDoc.getDocName()+"' id='doc"+favoriteDoc.getDocId()+"'? im0='file.gif' im1='file.gif' im2='file.gif'></item>");

????????????????? }

????????????? }

?????????? }else{

???????? //默认收藏夹下用户自建的收藏夹列表

?????????? strBuf.append("<item text='"+favorite.getFavorName()+"' id='fav"+favorite.getFavorId()+"' open='1' im0='folder.gif' im1='openfolder.gif' im2='folder.gif'>");

??????????

????????? //用户自建的收藏夹下的文档列表

?????????? List userFavoriteDocList = favorite.getFavoriteDocList();

?????????? if(userFavoriteDocList!=null){

????????????? for(Iterator iter2 = userFavoriteDocList.iterator();iter2.hasNext();){

????????????????? FavoriteDocInfo favoriteDoc = (FavoriteDocInfo)iter2.next();

????????????????? strBuf.append("<item text='"+favoriteDoc.getDocName()+"' id='doc"+favoriteDoc.getDocId()+"'? im0='file.gif' im1='file.gif' im2='file.gif'></item>");

????????????????? }

????????????? }

?????????? strBuf.append("</item>");

?????????? }

?????? }

?????? strBuf.append("</item>");??

?????? strBuf.append("</tree>");??

??? //? System.out.println(strBuf.toString());

?????? return strBuf.toString();

??? }

?

?? JSP页面:

????? 树显示的页面:
????? <%@ page language="java" pageEncoding="GBK" %>

<%@ page import="com.miracle.dm.doc.favorite.ComponentFavorFactory"%>