`
xujunJ2EE
  • 浏览: 69764 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

jquery ajax json4 treeview动态加载

阅读更多
   <ul id="tree" class="filetree treeview-famfamfam">
   </ul>

动态加载的时候,只会在第一次展开的时候发送服务器,再次展开是不发送的,类似jquey的one事件处理。
treeview每次请求都是get请求,会自动带一个"root"的url参数,第一次是"source"。
以后的话都以li的id作为参数,即你在json数据中设置的"id"值。如果json中某个bool值的项目你不需要,就不写,设置false没有效果的。
还需要注意的是treeview的jquery.treeview.anync.js有一个bug,原来是:
current.children("span").addClass(this.classes);这样有异常的,要改成字符串形式,如下:
current.children("span").addClass(""+this.classes);
response.setHeader("Cache-Control", "no-cache");   
		String parameter = request.getParameter("root");
		if (parameter != null)
		{
			//第一次加载的时候root是"source", 以后是id的值
			if (parameter.equals("source"))
			{
				try
				{
					JSONArray baseArray = new JSONArray();
					for (int i = 0; i < 3; i++)
					{
						JSONObject baseObject = new JSONObject();
						baseObject.append("text", "base"+i);
						baseObject.append("id", i);
						/*如果不需要某个设置就不写,设置false没有效果的*/
						//baseObject.append("expanded", true); 
						baseObject.append("classes", "folder");
						baseObject.append("hasChildren", true);
						baseArray.put(baseObject);
					}
					String json = baseArray.toString();
					System.out.println(json);
					response.setHeader("Cache-Control", "no-cache");   
					response.setContentType("application/json");
					byte[] bs = json.getBytes("utf-8");
					response.setContentLength(bs.length);
					OutputStream os = response.getOutputStream();
					os.write(bs);
					os.flush();
					os.close();
				}
				catch (JSONException e)
				{
					e.printStackTrace();
				}
			}
			else 
			{
				try
				{
					JSONArray childArray = new JSONArray();
					for (int i = 0; i < 2; i++)
					{
						JSONObject childObject = new JSONObject();
						childObject.append("text", "base is "+parameter+" child" + i);
						childObject.append("id", i);
						/* 如果不需要某个设置就不写,设置false没有效果的 */
						// baseObject.append("expanded", true);
						childObject.append("classes", "folder");
						childObject.append("hasChildren", true);
						childArray.put(childObject);
					}
					String json = childArray.toString();
					System.out.println(json);
					response.setHeader("Cache-Control", "no-cache");
					response.setContentType("application/json");
					byte[] bs = json.getBytes("utf-8");
					response.setContentLength(bs.length);
					OutputStream os = response.getOutputStream();
					os.write(bs);
					os.flush();
					os.close();
				}
				catch (JSONException e)
				{
					e.printStackTrace();
				}
			}
		}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics