Hopes

          Start Here..

           

          xloadtree 的使用

          osted on 2006-04-04 09:42 火鳥 閱讀(6932) 評論(1)  編輯 收藏 
                 XloadTree是http://webfx.eae.net/公司的基于JavaScript的建立樹型目錄的開源產品,擴展性強,使用簡單。

          1。XloadTree是基于XmlHttp請求/響應模型,必須使用http協議訪問代碼才可以正確加載XML文件。
          2。使用JSP/Servlet的實例如下:
          tree.jsp
          <%@ page 
          language
          ="java" 
          contentType
          ="text/xml; charset=UTF-8" 
          pageEncoding
          ="UTF-8" 
          %> 
          <% 
                  response.setContentType(
          "text/xml"); 
                  out.println(
          "<tree>"); 
                  out.println(
          "<tree text=\"Load tree1.xml\" src=\"tree1.xml\" />"); 
                  out.println(
          "<tree text=\"Loaded Item 1\" action=\"http://webfx.eae.net\" />"); 
                  out.println("<tree text=\"Loaded Item 2\">"); 
                  out.println(
          "<tree text=\"Loaded Item 2.1\" action=\"javascript:alert(2.1)\" />"); 
                  out.println(
          "</tree>"); 
                  out.println(
          "<tree text=\"Loaded Item 3 (with target)\" action=\"http://www.google.com\" target=\"_new\" />"); 
                  out.println("<tree text=\"Load tree.xml\" src=\"tree.xml\" />"); 
                  out.println(
          "</tree>"); 
          %>
          注意contentType="text/xml; charset=UTF-8" 和response.setContentType("text/xml"),使用的是"text/xml"不是"text/html"。

          修改代碼:
          <script type="text/javascript">

          /// XP Look
          webFXTreeConfig.rootIcon        = "images/xp/folder.png";
          webFXTreeConfig.openRootIcon    
          = "images/xp/openfolder.png";
          webFXTreeConfig.folderIcon        
          = "images/xp/folder.png";
          webFXTreeConfig.openFolderIcon    
          = "images/xp/openfolder.png";
          webFXTreeConfig.fileIcon        
          = "images/xp/file.png";
          webFXTreeConfig.lMinusIcon        
          = "images/xp/Lminus.png";
          webFXTreeConfig.lPlusIcon        
          = "images/xp/Lplus.png";
          webFXTreeConfig.tMinusIcon        
          = "images/xp/Tminus.png";
          webFXTreeConfig.tPlusIcon        
          = "images/xp/Tplus.png";
          webFXTreeConfig.iIcon            
          = "images/xp/I.png";
          webFXTreeConfig.lIcon            
          = "images/xp/L.png";
          webFXTreeConfig.tIcon            
          = "images/xp/T.png";

          //var tree = new WebFXLoadTree("WebFXLoadTree", "tree1.xml");
          //
          tree.setBehavior("classic");

          var rti;
          var tree = new WebFXTree("Root");
          tree.add(
          new WebFXTreeItem("Tree Item 1"));
          tree.add(
          new WebFXLoadTreeItem("Tree Item 2""tree.jsp"));//Loading JSP File
          tree.add(rti = new WebFXLoadTreeItem("Tree Item 3 (Reload)""date.xml.pl"));
          tree.add(
          new WebFXTreeItem("Tree Item 4"));

          document.write(tree);

          </script>
           

          xloadtree 的使用

          分類: struts2008-11-01 00:15 821人閱讀 評論(1) 收藏 舉報
           
          最近需要用一個在網頁上顯示一個樹形的結構,原來的javascript腳本不是很適合,就是用了xloadtee,這個東西還是很好用的,
          雖然還有一點點瑕疵,但是已經很好的達到了我的要求。
          大概需要做的工作:
          腳本引用:
          <link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/xtree2.css">
          <link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/xtree2.links.css">
          <script type="text/javascript" src="<%=request.getContextPath()%>/js/xtree2.js"></script>
          <script type="text/javascript" src="<%=request.getContextPath()%>/js/xloadtree2.js"></script>
          使用個div在頁面顯示整個樹:
          <div style="position: absolute; width: 200px; top: 10px; left: 15px; height: 100%; padding: 5px; overflow: auto;">
          <!-- js file containing the tree content, edit this file to alter the menu,
               the menu will be inserted where this tag is located in the document -->
          <script type="text/javascript">
          var tree = new WebFXTree("組織結構樹");
          tree.showRootNode = false;
          tree.showRootLines = false;
          tree.add(new WebFXLoadTreeItem("系統", "/sectiontree.do"));
          tree.expandAll();
          tree.write();
          </script>
          </div>
           
          頁面部分即可完成,下面是服務器端的代碼:
           
           public ActionForward execute(ActionMapping mapping, ActionForm form,
             HttpServletRequest request, HttpServletResponse response)
             throws Exception {
            response.setContentType("text/xml; charset=gbk");
            response.setHeader("Cache-Control", "no-cache");
            response.setDateHeader("Expires", 0);
            PrintWriter out = response.getWriter();
            String id = request.getParameter("id");
            Session ss = SessionHolder.getSessionHolder().currentSession();
            Document doc = new Document(new Element("tree"));
            if (id == null) {
             // 取得根節點
             String root = "select s from Section s inner join fetch s.children where s.parent.section_id is null";
             Query query = ss.createQuery(root);
             transfer(doc, query);
            } else {
             // 取得當前節點的id
             int sid = Integer.parseInt(id);
             String child = " from Section s where s.section_id=:id";
             Query query = ss.createQuery(child);
             query.setInteger("id", sid);
             transfer(doc, query);
            }
            SessionHolder.getSessionHolder().closeSession(ss);
            Format format = Format.getCompactFormat();
            format.setEncoding("gbk");
            format.setIndent("/t");
            XMLOutputter xout = new XMLOutputter(format);
            xout.output(doc, out);
            out.flush();
            out.close();
            return null;
           }
           private void transfer(Document doc, Query query) {
            List r = query.list();
            Section s = (Section) HibernateUtil.uniqueResult(r);
            for (Iterator it = s.getChildren().iterator(); it.hasNext();) {
             Section one = (Section) it.next();
             Element tree = doc.getRootElement();
             Element inner = new Element("tree").setAttribute("text", one
               .getName());
             tree.addContent(inner);
             if (!one.isLast())
              inner.setAttribute("src", "/TechCS/sectiontree.do?id="
                + one.getSection_id());
             inner.setAttribute("action", "javascript:setsection("
               + one.getSection_id() + ")");
            }
           }
          以上部分就可以完成樹結構的服務器部分。
          說明:使用struts+hibernate。

          posted on 2012-08-12 21:35 ** 閱讀(308) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學習

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 泗水县| 阿坝县| 平山县| 富宁县| 秦安县| 蒙阴县| 朔州市| 云霄县| 名山县| 吉木乃县| 夹江县| 黄平县| 杂多县| 江阴市| 房山区| 恭城| 临汾市| 卓尼县| 宝丰县| 三亚市| 岚皋县| 星子县| 克山县| 呼和浩特市| 秦皇岛市| 敖汉旗| 锦屏县| 西丰县| 门头沟区| 谢通门县| 阜宁县| 清远市| 修武县| 安岳县| 临夏市| 赞皇县| 健康| 新闻| 阳城县| 大庆市| 海盐县|