Maison > interface Web > js tutoriel > le corps du texte

Exemple de chargement asynchrone JQuery ztree explication_jquery

WBOY
Libérer: 2016-05-16 15:13:42
original
1118 Les gens l'ont consulté

À l'origine, je voulais créer une interface de navigation dans les répertoires de fichiers, qui nécessitait de parcourir tous les fichiers et répertoires. Évidemment, tout lire en même temps est très long et laborieux.

Vous devez donc faire un chargement asynchrone....

Préparation :

1 Téléchargez JQuery ZTree

Copiez simplement le JS et le CSS. En fait, il n'est pas nécessaire d'en inclure autant, utilisez simplement ce que vous voulez.

2 nécessite fastJSON pour convertir les objets JSON

Après avoir téléchargé le package JAR et l'avoir importé dans Eclipse, j'ai toujours reçu une erreur de classe introuvable.

Solution : placez le package jar sous WEB-INF/lib.

Exemple de code :

index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
  <link rel="stylesheet" href="resources/css/demo.css" type="text/css">
  <link rel="stylesheet" href="resources/css/zTreeStyle/zTreeStyle.css" type="text/css">
  <script type="text/javascript" src="resources/js/jquery-1.4.4.min.js"></script>
  <script type="text/javascript" src="resources/js/jquery.ztree.core-3.5.js"></script>
  
</head>
<body>
  <div class="zTreeDemoBackground left">
    <ul id="treeDemo" class="ztree"></ul>
  </div>
  <SCRIPT type="text/javascript">
    var setting = { 
        data: { 
          simpleData: { 
            enable: true 
          } 
        } ,
        async: {
          enable: true,
          url:"/TestZTree/test",
          autoParam:["id", "name", "level"],
          otherParam:{"otherParam":"zTreeAsyncTest"},
          dataFilter: filter
        }
    }; 
    function filter(treeId, parentNode, childNodes) {
      if (!childNodes) return null;
      for (var i=0, l=childNodes.length; i<l; i++) {
        childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
      }
      return childNodes;
    }
    var zNodes =[ 
      { id:1, pId:0, name:"parentNode 1", open:true}, 
      { id:11, pId:1, name:"parentNode 11",isParent:true}, 
      { id:111, pId:11, name:"leafNode 111"}, 
      { id:112, pId:11, name:"leafNode 112"}, 
      { id:12, pId:1, name:"parentNode 12",isParent:true}, 
      { id:121, pId:12, name:"leafNode 121"}, 
      { id:13, pId:1, name:"parentNode 13", isParent:true}, 
      { id:2, pId:0, name:"parentNode 2", isParent:true} 
    ]; 
 
    $(document).ready(function(){ 
      $.fn.zTree.init($("#treeDemo"), setting, zNodes); 
    }); 
  </SCRIPT>
</body>
</html>
Copier après la connexion

testServlet.java

package com.test;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class testServlet extends HttpServlet{
  @Override 
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    doPost(request, response); 
  } 
 
  @Override 
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    String id = request.getParameter("id"); 
    String name = request.getParameter("name"); 
    String level = request.getParameter("level"); 
    String otherParam = request.getParameter("otherParam"); 
    System.out.println(id + "|" + name + "|" + level + "|" + otherParam); 
     
    List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>(); 
    for(int i = 0; i < 5; i++){ 
      HashMap<String,Object> hm = new HashMap<String,Object>();  //最外层,父节点       
      hm.put("id",id+i);//id属性 ,数据传递  
      hm.put("name", id+i); //name属性,显示节点名称  
      hm.put("pId", id); 
       
      list.add(hm); 
    } 
    response.getWriter().write(JSON.toJSONString(list)); 
  } 
}
Copier après la connexion

web.xml

<&#63;xml version="1.0" encoding="UTF-8"&#63;>
<web-app version="2.5" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <display-name></display-name>
 <servlet>
  <servlet-name>testServlet</servlet-name>
  <servlet-class>com.test.testServlet</servlet-class>
 </servlet>

 <servlet-mapping>
  <servlet-name>testServlet</servlet-name>
  <url-pattern>/test</url-pattern>
 </servlet-mapping>
   
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>
Copier après la connexion

Rendu :

Ce qui précède concerne le chargement asynchrone de jquery. J'espère que cela sera utile à tous ceux qui apprennent la programmation jquery.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!