利用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"%>

<%@page import="com.opensymphony.xwork2.ActionContext" %>

<%@page import="com.miracle.dm.framework.webapp.model.WebUser" %>

<%@page import="com.miracle.dm.framework.common.Constants" %>

<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">

<html>

<head>

<title>收藏夹管理</title>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">

<META HTTP-EQUIV="Expires" CONTENT="0">

<style type="text/css">

.createSpan,.createSpan td{ font-size : 12px;    background-color:white;}

<!--下面两个样式主要是为了实现iframe滑动条样式设计的-->

 

html {

 

overflow-y:auto!important;

 

*overflow-y:scroll;

 

}

 

body {

 SCROLLBAR-FACE-COLOR: #B7E6FC;

 SCROLLBAR-3DLIGHT-COLOR: #EEFAFF;

 SCROLLBAR-DARKSHADOW-COLOR: #6DC5EE;

 SCROLLBAR-BASE-COLOR: #D9F2FB;

}

</style>

   Apple-c

你可能感兴趣的:(apple,jsp,xml,cache,css)