<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Keep Moving

    一個(gè)人倘若需要從思想中得到快樂,那么他的第一個(gè)欲望就是學(xué)習(xí)。
    隨筆 - 16, 文章 - 10, 評論 - 1, 引用 - 0
    數(shù)據(jù)加載中……

    S2SH整合下的動(dòng)態(tài)樹(非Ajax)

      Dtree是個(gè)非常簡單易用的JS類庫,封裝了JS對樹型結(jié)構(gòu)的一些復(fù)雜操作,其簡單易用的API能使新手順利的完成動(dòng)態(tài)樹,下載地址為:http://destroydrop.com/javascripts/tree/
      本文結(jié)合Struts2.X,Spring2.0,Hibernate3.0整合使用,數(shù)據(jù)庫為簡單起見使用MySQL,表結(jié)構(gòu)的設(shè)計(jì)是根據(jù)Dtree的結(jié)構(gòu)來的,Dtree基本數(shù)據(jù)字段如下:
    id Number Unique identity number.
    pid Number Number refering to the parent node. The value for the root node has to be -1.
    name String Text label for the node.
    url String Url for the node.
    title String Title for the node.
    target String Target for the node.
    icon String Image file to use as the icon. Uses default if not specified.
    iconOpen String Image file to use as the open icon. Uses default if not specified.
    open Boolean Is the node open.

    SQL腳本如下:
    create database exercise;
    use database exercise;
    create table dtreedemo01(
       id 
    varchar(50primary key,
       pid 
    varchar(50),
       name 
    varchar(50),
       url  
    varchar(50),
       title 
    varchar(50),
       target 
    varchar(50),
       icon 
    varchar(50),
       iconopen 
    varchar(50),
       opened 
    varchar(50)
    );


    insert into dtreedemo01 values('0','-1','Root','javascript: void(0);',null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('00','0','音樂','javascript: void(0);',null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0001','00','輕金屬',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0002','00','重金屬',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0003','00','R&B',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('01','0','體育','javascript: void(0);',null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0101','01','籃球',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0102','01','足球',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0103','01','體操',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('02','0','美食','javascript: void(0);',null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0201','02','中國菜',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('020101','0201','青椒找肉',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0202','02','日本菜',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('020201','0202','河夫烤魚',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('0203','02','法國菜',null,null,null,NULL,NULL,NULL);
    insert into dtreedemo01 values('020301','0203','爆炒蝸牛',null,null,null,NULL,NULL,NULL);

    接下來就是三個(gè)框架的整合了,因?yàn)榇宋闹皇墙榻B一下Dtree的使用,所以整合的細(xì)節(jié)就不說了,直接看展示頁面的代碼.
    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
        
    <head>
            
    <title>DynaTreeDemo</title>
            
    <link rel="StyleSheet" href="css/dtree.css" type="text/css" />
            
    <script type="text/javascript" src="js/dtree.js"></script>
        
    </head>
        
    <body>
            
    <table width="180">
                
    <tr>
                    
    <td height="300" valign="top">
                        
                        
    <script type="text/javascript">
                                tree 
    = new dTree('tree');
                            tree.config.folderLinks
    =false;
                            tree.config.useCookies
    =false;
                             
    <s:iterator value="#request.treeList">
                            tree.add(
    "<s:property  value="id"/>",
                                
    "<s:property  value="pid" />",
                                
    "<s:property  value="name" />",
                                
    "<s:property  value="url" />",
                                
    "<s:property  value="title" />",
                                
    "<s:property  value="targer" />",
                                
    "<s:property  value="icon" />");
                             
    </s:iterator>
                              document.write(tree);    
                            
    </script>

                    
    </td>
                
    </tr>
            
    </table>
        
    </body>
    </html>
    上文中的treeList為在后端控制器獲取到的數(shù)據(jù),在JSP頁面中使用Struts2標(biāo)簽迭代集合實(shí)現(xiàn)javascript與S2的交互。
    效果如圖:

    這種實(shí)現(xiàn)方法的一個(gè)缺點(diǎn)是,當(dāng)有大量的數(shù)據(jù)時(shí)也是一次性查詢出來傳遞到Dtree封裝好的遞歸方法中,影響效率.
    去除了S2SH的Jar,下載地址:http://www.tkk7.com/Files/Mars/dtreedemo.rar

    posted on 2009-05-29 13:32 BruceLeey 閱讀(428) 評論(1)  編輯  收藏 所屬分類: 動(dòng)態(tài)樹

    評論

    # re: S2SH整合下的動(dòng)態(tài)樹(非Ajax)  回復(fù)  更多評論   

    找了這么多,只有你這個(gè)我實(shí)現(xiàn)了,真心的感謝您,您真帥
    2012-10-02 21:36 | 趙厚寶

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成人电影在线免费观看| 亚洲婷婷五月综合狠狠爱| 在线观看免费播放av片| 亚洲AV无码之国产精品| 亚洲美女aⅴ久久久91| 亚洲午夜精品久久久久久浪潮| 日本亚洲免费无线码| 免费黄网站在线看| 久久国产乱子伦精品免费午夜| 亚洲av成人一区二区三区观看在线| 亚洲第一精品电影网| 亚洲va久久久噜噜噜久久男同| 亚洲国产成人五月综合网 | 亚洲精品在线免费观看视频| 伊人久久大香线蕉免费视频| 乱爱性全过程免费视频| 久久亚洲精品高潮综合色a片| 亚洲一区二区三区不卡在线播放| 久久国产精品亚洲一区二区| 狠狠综合久久综合88亚洲| 亚洲国产精品狼友中文久久久| 国产又大又粗又硬又长免费 | 亚洲国产精品VA在线看黑人| 久久亚洲中文字幕精品一区| 亚洲第一视频在线观看免费| 在线日韩av永久免费观看| 女人18一级毛片免费观看| 色婷婷7777免费视频在线观看| 午夜免费1000部| 日本视频一区在线观看免费| 麻豆高清免费国产一区| 久久精品无码专区免费东京热 | 日本久久久久亚洲中字幕| 亚洲AV日韩AV鸥美在线观看| 国产亚洲精品无码成人| 国产成人精品日本亚洲专区61| 狠狠亚洲狠狠欧洲2019| 永久亚洲成a人片777777| 亚洲熟妇av一区二区三区漫画| 国产成人精品日本亚洲专区61 | 9420免费高清在线视频|