鄧華

          BlogJava 聯(lián)系 聚合 管理
            48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks
          這兩天,為了實(shí)現(xiàn)ajax的樹形目錄,找了很多代碼. 最后確定用xloadtree.

          在xloadtree的主頁上, 有項(xiàng)目xtree 和xloadtree  一個(gè)是固定顯示的樹,一個(gè)是動(dòng)態(tài)加載的樹.

          在他的隱藏目錄里,有一個(gè)xtree2  地址為http://webfx.eae.net/dhtml/xtree2b/  這個(gè)是正在測(cè)試的版本, 融合了xtree和xloadtree.  更新了代碼, 但還是beta版.

          xloadtree 可以在各種瀏覽器下通用. 兼容性效果非常好.

          主要的三個(gè)文件:  xtree2.js, xloadtree2.js, xtree2.css 
          xloadtree2.js 主要是對(duì)ajax方式的封裝, 實(shí)現(xiàn)異步調(diào)用. 顯示樹的時(shí)候,調(diào)用xtree2.js里面的代碼. xtree2.css 控制樹的顯示式樣.  在查看他的文檔的時(shí)候,主要看xtree2的文檔,這里面才有對(duì)樹怎樣進(jìn)行操作. xloadtree只是個(gè)調(diào)用包裝.

          xtree2.js :
          輸出html代碼的時(shí)候, 調(diào)用的是toHtml() 方法. 在這個(gè)方法中,其中最主要的是getRowHtml() 來得到每一行的輸出.  方法中用 getExpandIconHtml() 來控制展開后圖標(biāo)的代碼輸出, getIconHtml()控制未展開的圖標(biāo)輸出.  getLabelHtml() 控制文本的輸出, 如果不想要圖標(biāo),就把圖標(biāo)的輸出代碼屏蔽掉就OK.


          關(guān)于在頁面輸出后,看不到源代碼的調(diào)試方法:

          <br/>
          <INPUT type="button" name="ad" onclick="charge();" value="change">
          <br/>
          <TEXTAREA rows="10" cols="30" id="ttt" name="ttt"></TEXTAREA>
          <br/>
          <INPUT type="button" name="findnode" onclick="findnode();" value="findnode">
          <br/>
          <INPUT type="button" name="openpath" onclick="openpath();" value="openpath">
          <script>
              
          function charge(){
                  document.getElementById('ttt').value
          =tree.getSelected().toHtml();
              }
              
              
          function findnode(){
                  tree.findChildByText(document.getElementById('ttt').value,
          0);
              }
              
              
          function openpath(){
                  tree.openPath(webFXTreeHandler.htmlToText(document.getElementById('ttt').value),true);
                  tree.getSelected().expand();
              }
          </script>

          在頁面中放置如上代碼.  注意,先要獲得樹的句柄.  比較創(chuàng)建樹的時(shí)候,用如下代碼:

          var tree = new WebFXTree("<%=rootname%>");

          在展開的樹點(diǎn),選擇后, 點(diǎn)擊change 按鈕,可以得到這個(gè)節(jié)點(diǎn)對(duì)應(yīng)的html代碼.  然后對(duì)應(yīng)html可以找到相應(yīng)的CSS. 這個(gè)就不多寫了.

          xloadtree在調(diào)用子節(jié)點(diǎn)樹的時(shí)候,和服務(wù)器之間傳輸?shù)氖莤ml.
          DTD的定義如下
          <!ELEMENT tree (tree*)>
          <!ATTLIST tree
                      text        CDATA    #REQUIRED
                      src            CDATA    #IMPLIED
                      action        CDATA    #IMPLIED
                      icon        CDATA    #IMPLIED
                      openIcon    CDATA    #IMPLIED
                      target        CDATA    #IMPLIED
          >

          其中 text為顯示文本,  src為下級(jí)目錄目錄的地址. action為點(diǎn)擊的鏈接. icon為圖標(biāo),openIcon為節(jié)點(diǎn)打開后的圖標(biāo). target為目標(biāo),和a標(biāo)簽的target用法一樣.


          因?yàn)閤ml 文件不能傳送< > 這種符號(hào), 可以采用&lt; &gt; 傳送.   因?yàn)轫?xiàng)目里需要在樹上顯示HTML代碼,所以在js里面做了修改.  修改的部分比較多. 還沒有測(cè)試有沒有意外情況. 這個(gè)以后再說.


          還有, 在使用過程中,有一個(gè)BUG. 是設(shè)置tabindex的. 會(huì)出錯(cuò).

          this.setTabIndex(this.tabIndex); 

          將xtree2.js文件中的這一行屏蔽掉就行了. 當(dāng)然,先要確定你不需要使用tab鍵定位. :)


          2006- 4- 22 增加:
            在要打開指定目錄樹的時(shí)候 如果樹里面包含html代碼, 可以用如下語句
          <script>try{top.tree.tree.openPath(webFXTreeHandler.htmlToText("/北京新東方學(xué)校/<font color=red><b>留學(xué)考試</b></font>/fff"),true);}catch(err){}</script>


          2006-5-19
          前天在同事應(yīng)用的時(shí)候,出現(xiàn)的問題是加載過程中如果樹結(jié)點(diǎn)為中文,就加載不上. 后來找到問題的原因是在用servlet輸出xml 的時(shí)候,是用的steam的方式, 后來改成字符輸出方式才正確. 如下.

                      PrintWriter out=response.getWriter();
                      out.write(outputXML.toString());
                      out.flush();
                      out.close();


          2008-09-03

          關(guān)于隨機(jī)參數(shù),指的是URL請(qǐng)求中帶有一個(gè)隨機(jī)參數(shù)。 這個(gè)參數(shù),可以是當(dāng)前時(shí)間,或者隨機(jī)數(shù)。 用來避開瀏覽器的緩存

           

          posted on 2005-11-13 18:55 鄧華的碎碎念 閱讀(27886) 評(píng)論(113)  編輯  收藏
          評(píng)論共2頁: 1 2 下一頁 

          Feedback

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-03-30 10:16 lip199162
          <?xml version="1.0"?>
          <tree>
          <tree text="1sub" action="plist.php?mid=3&sid=6" target="main"/>
          </tree>

          這幾行XML問題出在 plist.php?mid=3&sid=6 如果我改成 plist.php?mid=3或

          plist.php?sid=6 都不會(huì)有問題

          為什么這行語句不能有 & 這個(gè)字符呀,郁悶呀,求救一下,拜托了.  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-03-31 10:38 nickey's home
          @lip199162
          那就改成&amp; 試試?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-03-31 15:48 zz
          呵呵,路過看看

          我是用一個(gè)Servlet 直接吐出數(shù)據(jù)的,只要編碼正確,都沒有問題

          想問一個(gè)問題,我樹圖是逐層加載的,當(dāng)加載到最后一個(gè)節(jié)點(diǎn)的時(shí)候,后臺(tái)會(huì)返回空數(shù)據(jù),xloadtree就會(huì)出現(xiàn)錯(cuò)誤,我只好返回一個(gè)xml來表示是空節(jié)點(diǎn),比較難看,如何解決?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-03-31 16:15 lip199162
          我的問題,已經(jīng)解決了,真的很感謝各位,謝謝了  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-04-18 11:08 aaa
          有沒有誰用過這個(gè)東東,為啥非要生成一個(gè)xml 文件呢?能不能直接用從后臺(tái)獲取的xml 數(shù)據(jù)  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-04-20 16:31 hailang
          我想知道如何在樹上顯示html代碼,具體的js修改是哪些?
          QQ:28308402  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-04-22 10:42 intraweb
          在使用xloadtree生成xml文件并載入時(shí),發(fā)現(xiàn)文件生成沒有問題,但是在load時(shí),頁面有時(shí)顯示error,說什么xml document have not top leve element,我查了xml文件,結(jié)構(gòu)是沒有問題的,不知道各位遇到過這種問題沒有?是不是他的bug

          具體我的步驟是將節(jié)點(diǎn)的src指定到一個(gè)jsp文件中,該jsp文件完成生成XML文件,并使用recpose.sendredirect到新的xml文件,不知是不是我的步驟有什么問題。我試了如果把生成文件和載入xml文件分在兩個(gè)文件中分步完成基本沒有問題。難道生成文件和載入xml要分為兩步完成嗎?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-04-24 16:42 nickey's home
          TO intraweb

          不應(yīng)該轉(zhuǎn)發(fā), 應(yīng)該直接輸出xml.   回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-04-25 22:21 intraweb
          我是使用javabean進(jìn)行生成xml文件的,如何直接輸出啊?難道要用servelet才行?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-04-27 15:42 minghaitang
          現(xiàn)在的xloadtree都是一次異步調(diào)用,再點(diǎn)第2次的時(shí)候就不去后臺(tái)取數(shù)據(jù)了,如何實(shí)現(xiàn)每次展開時(shí)都進(jìn)行異步調(diào)用?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-01 18:36 wen4516
          你好,,你能否告訴我讓菜單一開始顯示的就是全展開的狀態(tài)嗎。。。。這樣顯示比較直觀  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-01 22:54 atoi
          @wen4516
          tree.expandAll();


          另外,我也有一個(gè)問題,關(guān)于動(dòng)態(tài)加載的。
          我在自己的PHP程序中加載子節(jié)點(diǎn)。如果直接使用xtree2b演示使用的tree.xml,
          var tic = new WebFXLoadTreeItem('asdf', 'tree.xml')
          這樣可以加載沒有任何問題,但是我一旦把src參數(shù)改為php文件,不管帶不帶參數(shù),都不能加載節(jié)點(diǎn),即使我把tree.xml直接改名為tree.php都一樣,顯示的錯(cuò)誤信息為:
          Error loading tree.php (200: OK)
          請(qǐng)問這是怎么回事?另外有沒有什么方法可以調(diào)試?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-02 11:19 wen4516
          我的菜單是與數(shù)據(jù)庫相連的我沒有定義它。顯示方式是

          <div class="dynamicMenu">
          <menu:useMenuDisplayer name="ListMenu" pository="repository">
          <menu:displayMenu name="DatabaseMenu"/>
          <menu:displayMenu name="StandaloneMenu"/>
          </menu:useMenuDisplayer>
          </div>

          怎樣才能做到進(jìn)入頁面菜單以全展開的形式顯現(xiàn)  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-10 18:44 kind
          tree.add(new WebFXLoadTreeItem("Tree Item 2", "tree.xml", "http://www.google.com", "main", "", ""));
          為什麼我加上main就不行呢,一片空白,去掉就好了
          可是我不想把連接開在本窗口,而是想開在main窗口
          有辦法嗎?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-12 10:21 小輝
          我用的Weblogic為什么加載XML的時(shí)候老報(bào)錯(cuò)呀?我直接使用靜態(tài)的demo.html也不能加載 XML,但是用Firefox就可以用了,什么原因呀  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-12 10:26 小輝
          哪位大哥幫幫忙呀
          我的問題很簡(jiǎn)單
          我想運(yùn)行demo.html文件,demo.html和Tree.xml都是下載的源文件,
          用 IE 時(shí) 加載 XML 失敗
          用 Firefox 加載 XML 成功
          放到Tomcat 使用IE中 成功
          但是放到Weblogic使用IE 失敗了
          我們的工程使用的Weblogic,什么原因呀  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-12 10:26 小輝
          哪位大哥幫幫忙呀
          我的問題很簡(jiǎn)單
          我想運(yùn)行demo.html文件,demo.html和Tree.xml都是下載的源文件,
          用 IE 時(shí) 加載 XML 失敗
          用 Firefox 加載 XML 成功
          放到Tomcat 使用IE中 成功
          但是放到Weblogic使用IE 失敗了
          我們的工程使用的Weblogic,什么原因呀  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-13 22:34 nickey
          @小輝

          xloadtree和用的什么服務(wù)器是沒有關(guān)系的.
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-14 02:31 vincent_qiutian
          @nickey
          應(yīng)該沒有關(guān)系,只要客戶斷支持JavaScript好像就行了:)  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-17 21:11 aa
          寫了一個(gè)讀xml文件的方法,生成樹,怎么傳上去,想把展示圖片頁傳上去  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-18 22:02 vincent_qiutian
          你好,看了你寫的文章對(duì)我的啟發(fā)很大,但是在使用中卻遇到了些問題,希望您能夠給一些建議:
          我采用了你提供的Xloadtree,一個(gè)JSP文件在執(zhí)行的時(shí)候首先在指定的目錄中生成了一個(gè)一個(gè)tree.xml文件,最后還是在這個(gè)頁面下面調(diào)用了這個(gè)tree.xml
          var atree = new WebFXLoadTree("系統(tǒng)權(quán)限","xmltreea.xml");
          atree.build();

          但是如果用戶刷新了本頁面后,tree.xml文件已經(jīng)更新了內(nèi)容,但是顯示的還是上一次沒有刷新的內(nèi)容,為什么?

          還有你給出的example.htm頁面上有一個(gè)“重新加載異步樹”的按鈕調(diào)用了atree.reload()方法,但是我如果采用自己生成的XML調(diào)用這個(gè)方法IE就報(bào)錯(cuò),后來發(fā)現(xiàn),如果XML文件中沒有這一行“<TreeNode text="遞歸加載" radio="true" src="tree.xml" />” 這個(gè)按鈕就不起作用,能給我解答一下嗎?

          我所需要的就是每次調(diào)入的時(shí)候,能夠都重新加載一遍XML文件,謝謝!
          我的聯(lián)絡(luò)方式:
          msn:qiutian1976@minihome.8800.org
          QQ:568670(請(qǐng)注明XloadTree)
          Email:qiutian1976@163.com

          希望您能夠在百忙之中抽出一些時(shí)間給與解答,謝謝!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-19 09:32 nickey's home
          @vincent_qiutian

          但是如果用戶刷新了本頁面后,tree.xml文件已經(jīng)更新了內(nèi)容,但是顯示的還是上一次沒有刷新的內(nèi)容,為什么?

          這個(gè)情意我沒有碰到過,重新開個(gè)IE 呢? 可能跟IE的緩存有關(guān)系,在request和meta里面設(shè)一下,不緩存,應(yīng)該就沒有問題了.

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-19 14:00 vincent_qiutian
          @nickey's home

          你好,雖然添加在Request和Meta上添加了禁用緩存,但是在同一個(gè)IE瀏覽器中,刷新頁面還是不好用,顯示的還是第一次load進(jìn)來的信息。
          但是新開一個(gè)網(wǎng)頁,輸入網(wǎng)址卻能解決這個(gè)問題,但是實(shí)際應(yīng)用中我是用這個(gè)Tree來顯示用戶的權(quán)限列表的,當(dāng)?shù)谝淮握{(diào)入的時(shí)候顯示的是A的用戶的權(quán)限列表,當(dāng)我返回后點(diǎn)擊B后,雖然XML文件已經(jīng)更新,列表顯示的還是A的權(quán)限,
          我都郁悶了:(

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-19 19:34 nickey's home
          @vincent_qiutian
          你的xml文件沒有加吧...xml文件我也不知道怎么加...-_- 用servlet輸出下?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-20 02:54 vincent_qiutian
          @nickey's home
          總結(jié)問題如下:
          1.按照例子正確的配置了文件的路徑和XML文件的路徑,第一次打開本網(wǎng)頁,可以顯示正常信息,當(dāng)進(jìn)入同一個(gè)網(wǎng)頁,但是參數(shù)傳遞不同的時(shí)候,后臺(tái)已經(jīng)重建了這個(gè)XML文件,但是,仍舊顯示原來的信息
          找到一個(gè)貌似可以解決的辦法,再開一個(gè)新網(wǎng)頁,然后輸入這個(gè)XML文件的地址,例如:http://localhost:8080/test/xmltree.xml,瀏覽器就顯示出了重建后的內(nèi)容(說明,系統(tǒng)已經(jīng)根據(jù)傳遞參數(shù)重新建立,并且文件生成正確),然后在切換到第一次打開的那個(gè)瀏覽器,這個(gè)時(shí)候刷新頁面的時(shí)候,就會(huì)顯示正確的結(jié)果了
          但這個(gè)方法不具備實(shí)用性,因?yàn)橛脩舨粫?huì)按照你的這個(gè)麻煩的方式去操作
          2.當(dāng)把IE的緩存由“自動(dòng)”設(shè)置成“每次訪問頁面都檢測(cè)”,這樣雖然刷新還是顯示原有內(nèi)容,但是刷新兩次后就會(huì)顯示正確內(nèi)容。

          以上問題通過不同的機(jī)器和操作系統(tǒng)反復(fù)測(cè)試,問題依舊。


          我是用的環(huán)境是Tomcat 5 +JSP
          通過以上情況判斷,由于我的XML文件名稱從來沒有變更過(雖然內(nèi)容在更新),Tomcat 緩存了我的這個(gè)XML文件,導(dǎo)致刷新后內(nèi)容不變,但是我又找不到Tomcat怎么禁止緩存XML文件的方法,郁悶!

          我猜想的解決方式,頁面調(diào)用前,隨機(jī)生成一個(gè)XML文件名稱,然后讓xloadtree去調(diào)用,調(diào)用結(jié)束后,在頁尾刪除這個(gè)XML文件,這樣每次用戶訪問的時(shí)候是用的都是不同的XML文件,這樣可以避免Tomcat緩存已經(jīng)使用過的XML文件,這個(gè)只是我的想法,有時(shí)間測(cè)試一下。  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-20 19:26 vincent_qiutian
          通過隨機(jī)生成XML文件名稱得方法解決了問題,但是Tomcat為什么緩存以前生成XML文件的問題依舊沒有解決  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-21 10:20 nickey's home
          @vincent_qiutian
          不用隨機(jī)文件名吧,加個(gè)隨機(jī)參數(shù)就行了..  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-21 15:10 vincent_qiutian
          @nickey's home
          呵呵沒有大區(qū)別了 :) 現(xiàn)在好用了! 謝謝你:)  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-23 22:45 wo
          @nickey's hom
          你用的是這個(gè)么?

          open ('GET', file, true);
          send ('');
          每刷新一次,
          就讀一次文件
          cache
          是么  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-05-25 10:00 絕類
          我想展開的時(shí)候?qū)γ總€(gè)節(jié)點(diǎn)進(jìn)行功能操作(例如填刪改的操作)該如何實(shí)現(xiàn)?
          有人做過類似的操作嗎?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-12 13:59 ancory
          我現(xiàn)在想通過一個(gè)jsp文件直接把xml文件的內(nèi)容輸出,而不是先生成xml文件,然后在取,這樣總是提示內(nèi)容為空!為什么啊,如果是servlet的情況我沒有測(cè)試,另外通過一個(gè)javabean輸出xml文件也應(yīng)該可以吧?有人通過應(yīng)用jsp文件成功了嗎?這個(gè)jsp文件發(fā)個(gè)例子到上面看看,謝了!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-14 09:13 zz
          @ancory
          很簡(jiǎn)單的,代碼如下
          <%@ page contentType="text/html; charset=GBK" %>
          <%@ page import="java.io.*" %>
          <%@ page import="org.jdom.*" %>
          <%@ page import="org.jdom.input.DOMBuilder" %>
          <%@ page import="org.jdom.output.*" %>
          <%
          try {
          org.jdom.Document doc = (org.jdom.Document)request.getSession().getAttribute("TreeDoc");
          response.setContentType("text/xml");
          PrintWriter outt = response.getWriter();
          XMLOutputter outer=new XMLOutputter(" ",true,"GBK");
          outt.println(outer.outputString(doc));
          }
          catch (Exception ex) {
          ex.printStackTrace();
          }
          %>  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-15 10:24 ancory
          response.setCharacterEncoding("GB2312");
          String s = (String)request.getParameter("keyID");
          String s1 = ",again";
          response.setContentType("text/xml, charset = GBK");
          response.setHeader("Cache-Control", "no-cache");
          response.setDateHeader("Expires", 0);
          out.println("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
          out.println("<tree>");
          out.println(" <tree text=\"myxml1測(cè)試" + s + s1 + "\" action=\"http://webfx.eae.net\" />");
          out.println(" <tree text=\"myxml2\">");
          out.println(" <tree text=\"myxml2.1\" action=\"javascript:alert(2.1)\" />");
          out.println(" </tree>");
          out.println(" <tree text=\"myxm13\" action=\"http://webfx.eae.net\" />");
          out.println("</tree>");
          out.close();

          這樣不行嗎?不支持中文!
          org.jdom這個(gè)包我沒有找到  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-15 10:28 ancory
          PrintWriter out=response.getWriter();
          out.write(outputXML.toString());
          out.flush();
          out.close();
          這里的 outputXML是什么東西啊,我用一個(gè)StringBuffer得到xml格式的字符串,然后輸入,還是不支持中文?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-15 11:46 nickey's home
          噢. 統(tǒng)一用utf-8,不應(yīng)該出現(xiàn)中文問題的.  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-19 15:53 zz
          @ancory
          我是用jdom 來解析xml 的

          如果是用Servlet來輸出數(shù)據(jù),我設(shè)置如下
          response.setCharacterEncoding("text/xml; charset=GBK");
          ..................
          response.getWriter().println(str);//這里的str是一個(gè)xml字符,encoding="GBK"

          頁面的編碼也是"GBK"

          這里要注意Servlet的輸入格式和編碼,xml字符串的encoding,頁面的編碼  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-19 15:54 zz
          這里要注意Servlet的response的setCharacterEncoding方式,xml字符串的encoding,頁面的編碼   回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-20 14:41 ancory
          我用jsp和servlet都試過,都對(duì)中文不支持,昏了!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-21 09:48 zz
          @ancory
          :(

          是否編碼不統(tǒng)一? 你先把xml字符串直接在頁面上打印(servlet輸出或jsp打印)看看,如果可以正常顯示一般不會(huì)有問題

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-21 13:32 ancory
          直接打印都正常,編碼沒有問題,如果是從xml中讀取也是正常的,就是通過jsp或servlet輸出后就不正常,問題處在這里:xloadtree.js的_xmlFileLoaded(MyXmlHttp.responseXML, jsNode);
          這行代碼上,如果有中文MyXmlHttp.responseXML取到的就是空,所有總是彈出一個(gè)空提示框,難道你們和我的js文件不同?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-21 18:46 yehaoren
          如果我想修改節(jié)點(diǎn)的名稱,JS應(yīng)該如何寫,在線等解  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-22 16:41 ancory
          @yehaoren
          這是一個(gè)動(dòng)態(tài)加載樹,如果是從xml文件讀取節(jié)點(diǎn),直接改xml文件的第一個(gè)字段就可以了,如果是從數(shù)據(jù)庫讀取,就不存在問題了  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-22 16:57 ancory
          現(xiàn)在有個(gè)問題:這個(gè)軟件是有版權(quán)的,如果在項(xiàng)目中使用,會(huì)不會(huì)有問題啊,怎么解決呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-23 13:39 zz
          @ancory
          responseXML的確有時(shí)候會(huì)有問題,接收的東西為空
          換成responseText試試

          這個(gè)是開源的,不會(huì)有問題  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-23 15:22 ancory
          @zz
          謝謝指點(diǎn),我查資料改好了。
          現(xiàn)在我想問一下這個(gè)target在哪里設(shè)置,怎么設(shè)置呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-26 10:54 zz
          <?xml version="1.0" encoding="UTF-8"?>
          <tree>
          <tree id="1" text="test1" src="" action="test?type=1" toolTip="test1" target="leftframe" />
          </tree>

          是這個(gè)target么?   回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-26 12:10 ancory
          這個(gè)可以加,就是在開始的時(shí)候怎么加:
          var tree = new WebFXTree("Root");
          tree.add(new WebFXTreeItem("Tree Item 11","testxml.jsp"));
          如果這個(gè)地方要加target,怎么加啊,試了好長(zhǎng)時(shí)間沒有成功!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-06-26 17:00 zz
          這個(gè)要修改xtree2.js文件
          添加2個(gè)方法
          //在1522行原先方法下添加
          //zz
          function WebFXTreeItem(sText, oAction,target) {
          WebFXTreeAbstractNode.call(this, sText, oAction,target);
          }
          在288 行原先方法下添加
          //zz
          function WebFXTreeAbstractNode(sText, oAction,target) {
          this.childNodes = [];
          if (sText) this.text = sText;
          if (oAction) this.action = oAction;
          if (target) this.target = target;
          this.id = webFXTreeHandler.getUniqueId();
          if (webFXTreeConfig.usePersistence) {
          this.open = webFXTreeHandler.persistenceManager.getExpanded(this);
          }
          webFXTreeHandler.addNode(this);
          }

          測(cè)試代碼:
          tree.add(new WebFXTreeItem("Tree Item 1","http://www.google.com","_about"));  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-05 15:22 xra
          請(qǐng)高手幫忙:  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-05 15:30 xra
          http://webfx.eae.net/dhtml/xtree2b/下載的xtree2b-20050606.zip,運(yùn)行里面的xloadtreedemo.html,出錯(cuò)?已經(jīng)把this.setTabIndex(this.tabIndex); 去掉。提示Error loading tree.xml(0:Unknown).
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-05 16:01 xra
          奇怪了啊,為什么我運(yùn)行都是這樣的錯(cuò)誤啊!請(qǐng)大家不吝賜教啊!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-05 16:24 xra
          我剛試了下,啟動(dòng)tomcat以后再運(yùn)行就沒有問題,如果直接運(yùn)行就會(huì)出錯(cuò),郁悶!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-19 12:00 fang
          諸位,怎樣一次展開所有節(jié)點(diǎn)呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-19 17:19 fang
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">

          <html>
          <head>
          <title>XTree 2 Demo</title>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <link type="text/css" rel="stylesheet" href="css/xtree2b/xtree2.links.css">
          <script type="text/javascript" src="js/xtree2b/xtree2.js"></script>

          <script type="text/javascript" src="js/xtree2b/xloadtree2.js"></script>


          </head>
          <body>

          <script type="text/javascript">
          //alert("ok");
          var tree = new WebFXLoadTree("Hello World", "tree.xml");
          tree.write();

          </script>

          </body>
          </html>

          以上代碼出現(xiàn)問題 WebFXLoadTree 該問題怎么跟蹤呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-19 17:20 fang
          以上代碼出現(xiàn)問題 'WebFXLoadTree'未定義 請(qǐng)問該問題怎么跟蹤呢?   回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-19 17:54 fang
          http://webfx.eae.net/dhtml/xtree2b/ 下載的東西在apache-tomcat-5.5.16下可用,而在Resin 1.2.10下不可用.

          請(qǐng)問這是怎么回事?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-21 17:32 fang
          請(qǐng)問用http://webfx.eae.net/dhtml/xtree2b/能否實(shí)現(xiàn)樹型結(jié)構(gòu)的多選框?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-26 14:30 poplar
          @nickey's home

          怎么用隨機(jī)參數(shù)啊?
          我搞了一天也沒有搞定,我是通過servlet從數(shù)據(jù)庫中取數(shù)據(jù),
          但數(shù)據(jù)庫數(shù)據(jù)更新了,但目錄樹怎么刷新也更新不了。
          希望每次點(diǎn)擊一個(gè)節(jié)點(diǎn)的時(shí)候能重新從數(shù)據(jù)庫中取數(shù)據(jù)。
          我用的web服務(wù)器是weblogic 8.14

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-10-12 15:52 發(fā)
          犯得上發(fā)射點(diǎn)法@lip199162
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-10-19 21:25 itwhen
          nickey 我也出現(xiàn)了這個(gè)問題
          var tic = new WebFXLoadTreeItem('asdf', 'tree.xml')
          這樣可以加載沒有任何問題,但是我一旦把src參數(shù)改為php文件,不管帶不帶參數(shù),都不能加載節(jié)點(diǎn),即使我把tree.xml直接改名為tree.php都一樣,顯示的錯(cuò)誤信息為:
          Error loading tree.php (200: OK)
          請(qǐng)問這是怎么回事?
          謝謝了   回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-10-19 22:23 itwhen
          找到原因 動(dòng)態(tài)返回內(nèi)容前需要設(shè)置Content-Type為text/xml  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-11-23 19:01 wyq_tomorrow
          有一段時(shí)間了,為了這個(gè)頭都大了.
          我用這個(gè)控件讀取xml文件成功了,我用dom4j從數(shù)據(jù)庫中讀出文件,生成xml文件,然后進(jìn)行 加載,添加子節(jié)點(diǎn),刪除節(jié)點(diǎn)都可以,但是我在刪除最后一個(gè)節(jié)點(diǎn)之后,在初始化xml文件,xml文件已經(jīng)變了,就是生成的樹還是空的,我把網(wǎng)頁關(guān)了,然后再打開就可以了,不知道原因,希望高手給與指教。  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-01-30 15:47 xief
          IE上打開就得不到MyXmlHttp.responseXML中得xml內(nèi)容是怎么解決得呀?各位大俠幫幫忙呀:(  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-02-27 15:06 hshen
          把下面的語句注銷掉即可
          if (count == 0) {
          jsNode.errorText = "Error loading " +jsNode.src + " (???)";
          }  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-03-18 14:55 roroya
          我用xloadtree做了動(dòng)態(tài)加載的樹,是通過servlet里把數(shù)據(jù)庫的數(shù)據(jù)調(diào)出后改寫成xloadtree定義的xml格式,然后加載的。現(xiàn)在有一個(gè)問題,就是,我想能不能有方法改一下xtree,讓<tree>標(biāo)簽里的action屬性能夠支持兩個(gè)javascript,意思就是,現(xiàn)在可以寫成
          String action = "javascript:doPriCategoryAction('" + name +"')";
          能不能夠?qū)懗蓛煞N方法?一種是點(diǎn)擊節(jié)點(diǎn)時(shí)跳轉(zhuǎn)頁面,另外一種是鼠標(biāo)滑移到某一個(gè)節(jié)點(diǎn)時(shí)能夠顯示一些節(jié)點(diǎn)信息?
          希望大家共同討論。  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-03-26 00:28 ontology
          請(qǐng)問怎么能在 點(diǎn)擊+好按鈕時(shí)候 生成需要的xml 然后再加載  回復(fù)  更多評(píng)論
            

          # 怎么刷新樹中選中的節(jié)點(diǎn) 2007-05-14 09:30 eboge
          作者不知道還看得到不, 看到了請(qǐng)回一下, 如果我選中了某個(gè)節(jié)點(diǎn),怎么樣reload?我看了一下API, 好像只能刷新根節(jié)點(diǎn)(只有根節(jié)點(diǎn)有引用,其他的節(jié)點(diǎn)用的XML生成的,里面的都是SRC,沒有引用可用)  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-06-30 12:38 kofman
          學(xué)習(xí):請(qǐng)問您的隨機(jī)參數(shù)如何設(shè)置呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-06-30 12:39 kofman
          @vincent_qiutian
          學(xué)習(xí):請(qǐng)問您的隨機(jī)文件名如何設(shè)置呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-07-05 14:22 superpig
          怎么在節(jié)點(diǎn)上加上右鍵菜單呢?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-07-10 10:22 chen bo
          收藏了.....  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-07-13 20:33 luking
          我現(xiàn)在做了一個(gè)樹,有三層關(guān)系,怎么才能在頁面打開時(shí)展開樹的第二層節(jié)點(diǎn)的指定子節(jié)點(diǎn)?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-08-14 09:48 xxl
          如何用數(shù)據(jù)庫+javabean+jsp實(shí)現(xiàn)樹形目錄動(dòng)態(tài)的增刪改操作!
          希望能向各位學(xué)習(xí)學(xué)習(xí)!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-09-19 14:04 Adair
          請(qǐng)問,如何能對(duì)xloadtree2實(shí)現(xiàn)查找功能???即,關(guān)鍵的如何能獲取一個(gè)結(jié)點(diǎn)的引用????大家知道嗎???  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-10-18 16:23 lynnpeng
          請(qǐng)問各位若使用在IE 7.0是否會(huì)有問題?我們會(huì)一直loading  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-10-22 09:19 創(chuàng)世紀(jì)計(jì)算機(jī)
          最新版在IE7中好像沒有問題呀,我前幾天還試了一下~  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-10-22 10:25 nickey's home
          @lynnpeng
          嗯, 沒問題, 我們最近剛用了.  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-11-13 16:54 leisure
          這兩天也在弄xloadtree,參考了樓主的一些方法,表示感謝.
          有個(gè)疑問,再次展開樹型節(jié)點(diǎn)時(shí),上次選擇的節(jié)點(diǎn)的狀態(tài)仍然會(huì)保存,這是什么原理?為什么會(huì)這樣?這兩個(gè)js文件看得有些吃力,看來得在js上多花功夫才行  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-11-14 12:01 nickey's home
          @leisure
          對(duì)于瀏覽器中的緩存問題,有一個(gè)辦法是,在請(qǐng)求的URL里面加上一個(gè)Ramdom數(shù),js里面是Math.random();比如
          var url="http://www.sohu.com/?r="+Math.random();

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹[未登錄] 2008-01-10 12:27 oscar
          nickey 你好
          我有一個(gè)問題,我現(xiàn)在想模仿bbs.tol24.com的網(wǎng)站,但在過程中遇到一個(gè)問題
          1.當(dāng)初次加載頁面時(shí)左側(cè)樹可以正常顯示,也就是第一級(jí)目錄可正常顯示
          +--文學(xué)
          +--歷史
          +--科學(xué)
          2.當(dāng)點(diǎn)擊某“一個(gè)”目錄時(shí)其下級(jí)目錄均可以正常顯示
          +--文學(xué)
          +--中國(guó)文學(xué)
          +--外國(guó)文學(xué)
          +--歷史
          +--科學(xué)
          3.以后除剛才打開的目錄外,在點(diǎn)擊任何目錄就一直在loading...。也就是說只能打開一個(gè)目錄,其余的都打不開

          不知道這是什么原因  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹[未登錄] 2008-01-10 12:28 oscar
          nickey 你好
          我有一個(gè)問題,我現(xiàn)在想模仿bbs.tol24.com的網(wǎng)站,但在過程中遇到一個(gè)問題
          1.當(dāng)初次加載頁面時(shí)左側(cè)樹可以正常顯示,也就是第一級(jí)目錄可正常顯示
          +--文學(xué)
          +--歷史
          +--科學(xué)
          2.當(dāng)點(diǎn)擊某“一個(gè)”目錄時(shí)其下級(jí)目錄均可以正常顯示
          ---文學(xué)
          ...+--中國(guó)文學(xué)
          ...+--外國(guó)文學(xué)
          +--歷史
          +--科學(xué)
          3.以后除剛才打開的目錄外,在點(diǎn)擊任何目錄就一直在loading...。也就是說只能打開一個(gè)目錄,其余的都打不開

          不知道這是什么原因  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹[未登錄] 2008-01-10 12:30 oscar
          <script type="text/javascript">
          var tree = new WebFXTree("Root","");tree.setTarget("content");

          <%
          Connection conn = null;
          Statement stmt = null;
          ResultSet rs = null;
          String sTemp = "";
          int i = 0;
          String sql;

          try{

          sql = "select id,name from thin_directory where state = 1 and id like '__' order by sortid";
          conn = dbpool.getConnection(10000);
          stmt = conn.createStatement();
          rs = stmt.executeQuery(sql);

          while(rs.next())
          {
          sTemp = "var cat" + i + "= new WebFXLoadTreeItem(\"<font color=green>" + rs.getString("name") + "</font>\"" + ",\"node.jsp?id=" + rs.getString("id") + "\");";
          //sTemp = "var cat" + i + "= new WebFXLoadTreeItem(\"<font color=green>" + rs.getString("name") + "</font>\"" + ",\"tree.xml\");";
          out.println(sTemp);
          out.println("cat" + i + ".setTarget(\"content\");");
          out.println("tree.add(" + "cat" + i + ");");
          i++;

          }
          }catch(Exception e)
          {
          out.println("left--->" + e.getMessage());
          }
          finally
          {
          stmt.close();
          rs.close();
          dbpool.freeConnection(conn);
          conn = null;
          }
          %>

          tree.write();
          tree.expand();
          </script>  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹[未登錄] 2008-01-10 12:31 oscar
          +++++node.jsp++++++++


          <%
          String id = request.getParameter("id");

          Connection conn = null;
          Statement stmt = null;
          ResultSet rs = null;
          String sql;

          out.println("<?xml version=\"1.0\" encoding=\"gbk\"?>");
          out.println("<tree text=\"\">");

          try{

          sql = "select id,name from thin_directory where state = 1 and id like '" + id + "__' order by sortid";
          conn = dbpool.getConnection(10000);
          stmt = conn.createStatement();
          rs = stmt.executeQuery(sql);

          while(rs.next())
          {
          out.println(" <tree text=\"" + rs.getString("name") + "\" src=\"node.jsp?id=" + rs.getString("id") + "\" target=\"content\"/>");

          }
          }catch(Exception e)
          {
          out.println("node--->" + e.getMessage());
          }
          finally
          {
          stmt.close();
          rs.close();
          dbpool.freeConnection(conn);
          conn = null;
          }
          out.println("</tree>");
          out.close();

          %>
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-01-15 11:17 nickey's home
          @oscar
          你可以裝一個(gè)httpwatch來觀察瀏覽器發(fā)送和獲得的信息,來查看返回的內(nèi)容是否正確.

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-01-16 11:36 cupid
          <%@page contentType="text/xml;charset=GB2312" language="java" import="java.util.*"%>
          <%@page pageEncoding="UTF-8"%>
          <%
          out.println("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
          out.println("<tree>");
          out.println("<tree text=\"中華人民共和\"/>");
          out.println("<tree text=\"美國(guó)人差\"/>");
          out.println("</tree>");
          out.close();
          %>
          /////////////////////////////
          我輸入“中華人民共”奇數(shù)個(gè)漢字就出錯(cuò),怎么回事啊?謝謝
          偶數(shù)個(gè)漢字就好著呢!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-01-18 12:02 xpu
          現(xiàn)在的xloadtree都是一次異步調(diào)用,再點(diǎn)第2次的時(shí)候就不去后臺(tái)取數(shù)據(jù)了,如何實(shí)現(xiàn)每次展開時(shí)都進(jìn)行異步調(diào)用? 謝謝!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-01-21 12:54 karlpan
          nickey 你好
          我有一個(gè)問題,是在大數(shù)據(jù)量分層加載的時(shí)候遇到,感到有些莫明其妙,請(qǐng)教于您!
          -root (中國(guó))
          |---1 (北京)
          |---2 (河北)
          | |-----2.1 (唐山)
          | |-----2.2 (秦皇島)
          | |-----2.3 (石家莊)
          |---3 (山東)
          | |-----3.1 (濟(jì)南)
          | | |-----3.1.1(歷下取)
          | |-----3.2 (青島)
          | |-----3.3 (濰坊)
          我的樹有40000多條數(shù)據(jù),是跟當(dāng)前國(guó)家的行政區(qū)劃類似,當(dāng)我做如下操作的時(shí)候便會(huì)有奇妙的事情發(fā)生。
          點(diǎn)擊3,加載數(shù)據(jù),子樹展開,然后點(diǎn)擊3.1,加載數(shù)據(jù),子樹展開,然后點(diǎn)擊3.1.1 觸發(fā)this.action ,合上3.1,合上3(這個(gè)時(shí)候3的action變成了root的action,之后在點(diǎn)擊3的時(shí)候便跟會(huì)focus在root上了,3不能被展開了)
          這個(gè)事情在root下30多個(gè)省的最后幾個(gè)發(fā)生,在前面的并不會(huì)發(fā)生,且不是必然的。我跟蹤發(fā)現(xiàn)handleEvent: function (e) 在處理click時(shí)e發(fā)生了不正常的變化。
          不知道您是否曾經(jīng)遇到類似的問題?xloadtree在多級(jí)分層加載是否有著不穩(wěn)定的問題?您對(duì)這種事情有什么建議么?
          非常感謝

            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-01-22 14:21 karlpan
          問題原因已經(jīng)找到,是xloadtree在數(shù)據(jù)量非常大時(shí)的bug,事件響應(yīng)之間的間隔時(shí)間太長(zhǎng)!導(dǎo)致事件源出錯(cuò)!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-01-22 16:42 xpu
          oscar 的問題怎么解決阿,請(qǐng)問?  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-06-09 23:22 j2sej2ee
          小輝的問題我也遇到了,在firefox下面沒有問題,在ie里面就不能加載xml文件。請(qǐng)問各位是怎么解決這個(gè)問題的啊  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-06-11 14:32 shengnba
          在xloadtree中加右鍵菜單,不知道那位大蝦做過啊....  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-09-03 00:10 luoyexian
          我也遇到這樣的問題.請(qǐng)大蝦們指點(diǎn)下
          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2006-07-26 14:30 poplar
          @nickey's home

          怎么用隨機(jī)參數(shù)啊?
          我搞了一天也沒有搞定,我是通過servlet從數(shù)據(jù)庫中取數(shù)據(jù),
          但數(shù)據(jù)庫數(shù)據(jù)更新了,但目錄樹怎么刷新也更新不了。
          希望每次點(diǎn)擊一個(gè)節(jié)點(diǎn)的時(shí)候能重新從數(shù)據(jù)庫中取數(shù)據(jù)。
          我用的web服務(wù)器是weblogic 8.14
          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2007-06-30 12:38 kofman
          學(xué)習(xí):請(qǐng)問您的隨機(jī)參數(shù)如何設(shè)置呢?
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-10-20 17:08 logo
          每次訪問路徑不同應(yīng)該就可以了吧,比如后面加個(gè)xxx=new Date()之類的  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2008-11-16 21:41 wugang
          nickey's home您好,看了您的文章受益匪淺。
          我在使用xloadtree2的時(shí)候碰到這樣一個(gè)問題:
          1. 使用tree.add()方法時(shí)如果給節(jié)點(diǎn)名稱設(shè)置中文輸出就會(huì)是亂碼,但是我頁面的encoding已經(jīng)是utf-8了
          2. 如果加載節(jié)點(diǎn)時(shí)如果生成xml文件則顯示中文為亂碼,但是使用response輸出xml不會(huì)有亂碼,response輸出我可以設(shè)定字符集為utf-8,想問的是用dom4j如何設(shè)定生成xml文檔的encoding?
          3. 我的樹操作會(huì)牽扯到新增子節(jié)點(diǎn),刪除節(jié)點(diǎn)及移動(dòng)節(jié)點(diǎn)的功能,是否每次操作成功后需要調(diào)用tree.reload()這個(gè)方法?我看到有個(gè)addNode的方法是否可以直接調(diào)用?
          4. 想請(qǐng)問一下在樹的節(jié)點(diǎn)不是很多(小于100)的情況下,是用生成xml文件的方法好還是直接讀數(shù)據(jù)庫從response返回的方法好?因?yàn)槲业腁PP是使用了8臺(tái)機(jī)器做級(jí)聯(lián)的,如果一臺(tái)掛了切換另一臺(tái)而那上面的文檔和原機(jī)器xml文檔不一致那就比較討厭了
          望您可以抽空解疑,謝謝  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹[未登錄] 2008-12-30 16:17
          你好!我想問一下,怎么讀取生成的xml文件
          我在我的工程下,比如說 d:\aaa\bbb\ccc\tree.xml,xmlHttp.open("GET", sSrc, true)中的src該怎么寫?
          我查看了每次都生成tree.xml,但是xmlHttp.responseText和xmlHttp.responseXML讀取的結(jié)果都是空字符串,不是null,這個(gè)問題該怎么解決?謝謝!  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2009-01-16 15:24 fang
          我現(xiàn)在基本上是上面討論的情況,可是我一點(diǎn)思路也沒有?
          能給點(diǎn)指導(dǎo)嗎? 我的qq:313536145 ,希望能得到指導(dǎo)。  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2009-05-07 09:43 cag2050
          哥們,如解決,給回復(fù)啊@roroya
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2009-12-15 14:17 xiaolong
          為什么我用xloadtree的時(shí)候根目錄可以。但是生成的子節(jié)點(diǎn)的src都不起作用。
          如果把src拿出來單獨(dú)訪問。也是可以獲得xml文件的。
          我想請(qǐng)問一下為什么。可以給個(gè)解決方案嗎?好像是子節(jié)點(diǎn)的src字段沒有被觸發(fā)。
            回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2011-02-22 10:31 jiajunchao
          xloadtree在struts2中使用,用IE6打開報(bào)腳本錯(cuò)誤,里面的類找不到,哪位大俠能幫忙解決哈  回復(fù)  更多評(píng)論
            

          # re: 分析xloadtree, 用ajax實(shí)現(xiàn)的動(dòng)態(tài)目錄樹 2014-07-01 23:04 wuzhiwei
          需要指定返回類型
          response.setContentType("text/xml");  回復(fù)  更多評(píng)論
            

          評(píng)論共2頁: 1 2 下一頁 

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 沙坪坝区| 浦北县| 凌海市| 芒康县| 色达县| 拉萨市| 瓮安县| 芦溪县| 福泉市| 玉山县| 内丘县| 荥阳市| 昂仁县| 宝清县| 抚州市| 伊吾县| 宝山区| 广平县| 淮安市| 牡丹江市| 新宁县| 鹤峰县| 甘德县| 台南县| 安新县| 句容市| 高碑店市| 东宁县| 武强县| 满城县| 桑日县| 南溪县| 株洲市| 遂昌县| 香河县| 余干县| 香格里拉县| 榆树市| 共和县| 康平县| 大渡口区|