- 浏览: 212193 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (63)
- Java 框架技术 (11)
- flex3 (3)
- oracle (5)
- 工作总结 (2)
- javascript (15)
- struts2 (3)
- jQuery (8)
- Velocity (2)
- ibatis (3)
- Extjs (3)
- 算法 (1)
- java (11)
- tomcat (1)
- 中间件 (1)
- 应用服务器 (1)
- java,多线程 (1)
- 工作思考 (2)
- zTree (1)
- hibernate (1)
- spring (2)
- axis2 (2)
- autocomplete (1)
- antlr (1)
- CXF (1)
- WebService (2)
- xfire (1)
- fieldset (1)
- bug (1)
- js (1)
- svn (1)
- 数据库 (1)
最新评论
-
bq_test1:
我是这么理解的,你的synchorized方法还没执行完,i已 ...
多线程读取文件 -
bq_test1:
ReadFileAll 这个类的run方法多线程执行会阻塞,没 ...
多线程读取文件 -
bq_test1:
你好,我想请教个问题。单线程读取大文件和多线程读取大文件是否会 ...
多线程读取文件 -
wangcl011:
采用ExtJS4.2的Ext.form.ComboBox实现自 ...
Extjs combobox 自动提示 -
kizz:
keyis 谢谢兄弟,很好使~
SWFUpload+struts2 进度条
Ext js 和struts2 的结合,请 先 取出struts2中的无用jar:json-lib-2.1
struts2 本身待的json包已经很老了,提供的工具方法就不全,本demo 中 已经 附带了json 的新jar
本例子中不包含struts2的jar包。如果想跑起来,请自行加上struts2的jar
JS代码:
Ext.onReady(function(){
var Tree = Ext.tree;
var tree = new Tree.TreePanel({
autoScroll:true,
animate:true,
enableDD:true,
containerScroll: true,
loader: new Tree.TreeLoader({
dataUrl:'http://localhost/Ext/tree.action'
})
});
// set the root node
var root = new Tree.AsyncTreeNode({
text: 'Car',
draggable:false,
id:'source'
});
tree.setRootNode(root);
// render the tree
tree.render('div');
root.expand();
});
JAVA代码:
action:
--------------------------------------
package com;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.apache.struts2.ServletActionContext;
import bean.Menu;
import com.opensymphony.xwork2.ActionSupport;
public class TreeAction extends ActionSupport {
private String menuString;
private List<Menu> menus;
public String execute() {
menus = new ArrayList<Menu>();
Menu benz = new Menu();
benz.setText("Benz");
benz.setCls("folder");
benz.setLeaf(false);
benz.setId(10);
menus.add(benz);
List<Menu> benzList = new ArrayList<Menu>();
benz.setChildren(benzList);
Menu menu = new Menu();
menu.setText("S600");
menu.setCls("file");
menu.setLeaf(true);
menu.setId(11);
benzList.add(menu);
menu = new Menu();
menu.setText("SLK200");
menu.setCls("file");
menu.setLeaf(true);
menu.setId(12);
benzList.add(menu);
Menu bmw = new Menu();
bmw.setText("BMW");
bmw.setCls("folder");
bmw.setLeaf(false);
bmw.setId(20);
menus.add(bmw);
List<Menu> bmwList = new ArrayList<Menu>();
bmw.setChildren(bmwList);
menu = new Menu();
menu.setText("325i");
menu.setCls("file");
menu.setLeaf(true);
menu.setId(21);
bmwList.add(menu);
menu = new Menu();
menu.setText("X5");
menu.setCls("file");
menu.setLeaf(true);
menu.setId(22);
bmwList.add(menu);
JSONArray jsonObject = JSONArray.fromObject(menus);
response(jsonObject);
return null;
}
//向前台传送json结果集
protected void response(Object message) {
try {
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.print(message);
out.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public String getMenuString() {
return menuString;
}
public void setMenuString(String menuString) {
this.menuString = menuString;
}
}
--------------------------------------
bean:
package bean;
import java.util.List;
public class Menu {
private int id;
private String text;
private boolean leaf;
private String cls;
private List<Menu> children;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public boolean isLeaf() {
return leaf;
}
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
public String getCls() {
return cls;
}
public void setCls(String cls) {
this.cls = cls;
}
public List<Menu> getChildren() {
return children;
}
public void setChildren(List<Menu> children) {
this.children = children;
}
}
- Ext.rar (1.5 MB)
- 下载次数: 229
评论
呵呵,我这个包里面没有加入struts2的架包,因为太大了,你看看你的工程里面是不是已经加入,如果加入了struts2的架包,不会出问题的,本身我这个程序还没有连数据库,只是靠几个静态例子写的,如果你要写动态的例子可以给我你的QQ我加你,把我本机上的程序发给你!那个失败页面跳转你可以随便写一个,只有失败的时候才会跳转到,我就没理他,action中必须要返回null ,我们不是跳转页面,是通过异步传输过来你想要的那部分东西,这点你需要理解
struts.xml中 缺 <result = 'input'><result>
不知重 拿来的 越想月生气 自己菜鸟 找个程序 看写的也是这个 菜 无语了
发表评论
-
Extjs3.2 fieldset 添加 panel 再删除,bug解决
2012-06-01 08:57 4885最近公司的一个项目中需要用extjs中的fieldset进行动 ... -
Extjs combobox 自动提示
2012-01-05 17:25 4148简单介绍一些原理,代码大家下载附件就可以了。 extjs 的 ... -
聊聊JS中的RegExp的exec方法
2011-12-02 23:18 3567今天在研究jQuery源码的时候,发现对RegExp的exec ... -
jQuery异步生成树
2011-09-13 09:40 2440这个树是用zTree这个插件搞定的!代码如下 页面代码: ... -
jquery.each 兼容IE,firefox
2011-08-24 09:57 9241jQuery的each 方法中的this指针指向问题,这个是昨 ... -
遍历json 对象的属性并且动态添加属性
2011-08-18 12:32 35258昨天因为公司的一个需求,所以就研究了一下json对象的属性的遍 ... -
改良后的《js鼠标点击位置 弹出层由中心向四周缓慢扩大》
2011-07-22 15:32 1672<html> <head> < ... -
js 实现的简单选项卡 原理(支持IE)
2011-06-21 14:22 3173<!DOCTYPE html PUBLIC " ... -
js鼠标点击位置 弹出层由中心向四周缓慢扩大
2011-06-17 18:23 4941<html> <head> < ... -
JS 正则表达式 验证中文和英文字母
2011-05-17 18:26 6836满足条件: 只允许输入汉字或者英文字母,可以混着输入,但是不 ... -
js 判断浏览器类型
2011-04-24 18:13 778var userAgent = ... -
js parseFloat 减法小数过多解决方法
2011-04-24 18:08 7408由于js的float类型便面 不像java那样足够 精确 ... -
SWFUpload+struts2 进度条
2011-04-07 15:32 6509本案例非本人的原创,是我把多个案例结合,修改其中的错误,补充其 ... -
js 处理中文乱码
2011-04-02 10:59 2454javascript 常用的编码格式:escape(), en ... -
js 产生随机数 通用写法
2011-03-22 11:53 1426// 上限 var max = 100; // 下限 var ...
相关推荐
动态树加载菜单是 ExtJS 中一种常见且实用的功能,它允许用户在需要时按需加载树节点,从而提高应用性能,减少初次加载时的数据量。 动态树加载,也称为懒加载或按需加载,是指在用户滚动、展开节点或执行其他操作...
动态树(Dynamic Tree)是指在运行时可以动态加载、添加、删除或更新节点的树形控件。在ExtJS中,这种功能主要通过`Ext.tree.TreePanel`或其现代版本`Ext.tree.View`来实现。 一、ExtJS 动态树基础 1. `Ext.tree....
通过以上步骤,你可以轻松地为Web应用添加一个动态加载的树形导航菜单,提高用户的使用体验。当然,实际项目中还需要考虑更多的细节问题,例如错误处理、性能优化等,但本文提供了一个良好的起点。
本项目将详细介绍如何使用ExtJS动态加载树结构,并通过JDBC连接SQL Server数据库获取数据,最终将数据转换为JSON格式以供树结构使用。 首先,让我们了解**ExtJS动态树**的基本概念。动态树(Dynamic Tree)指的是在...
在本篇文章中,我们将深入探讨ExtJS中的动态树以及中文API的使用。 动态树的核心在于其数据绑定机制。在ExtJS中,树形控件通常与数据源(如Store)绑定,当数据源发生变化时,树会自动更新。你可以通过Ajax请求获取...
标题中的“EXTJS动态树支持checkbox全选”指的是EXTJS中树组件的一个特性,即在树形结构中添加复选框(checkbox)功能,并支持全选和全取消选中操作。这样的功能对于需要用户进行多项选择的场景非常有用,比如文件...
【ExtJS动态加载树】是网页开发中一种常见的交互方式,它允许用户逐步加载树形结构的数据,提高页面的性能和用户体验。在ExtJS框架下,我们可以利用其强大的组件库来构建这样的功能。 首先,我们来看一下数据库背景...
ExtJS 动态树结构与Struts框架结合,主要用于构建基于Web的动态树形界面,让用户能够以图形化的方式查看和操作层次结构的数据。在这一过程中,Struts作为MVC框架负责后端业务逻辑处理,而ExtJS则作为前端展示库,...
在本文中,我们将探讨如何实现ExtJS动态树以及其中的节点拖拽功能。动态树是一种能够实时更新和修改的树形结构,允许用户添加、删除和移动节点。这种功能在各种应用场景中非常有用,如文件系统、组织结构或层级数据...
ExtJS4是一个强大的JavaScript框架,用于构建富客户端应用程序。在这个示例中,我们将探讨如何实现一个动态树结构,其中数据是通过...这种动态加载的方式使得树结构可以根据用户交互灵活地展示数据,提高了用户体验。
ExtJS 4 下拉树(TreeCombo)是一种组合控件,它将传统的下拉框与树形结构结合在一起,提供了一种在有限空间内展示层级数据的高效方式。这种控件在很多场合都非常实用,例如在需要用户选择分类或者层级结构的场景中...
本主题主要探讨如何在ExtJS框架下,结合ASP.NET后端技术,实现动态加载树形结构数据。以下是对这个知识点的详细阐述: 首先,ExtJS是一个强大的JavaScript库,用于构建富客户端应用。它提供了丰富的组件库,包括树...
在EXTJS中实现动态树,主要是通过EXTJS的TreePanel组件来完成,下面将详细介绍EXTJS动态树的实现过程及其相关知识点。 1. TreePanel组件: TreePanel是EXTJS中用来展示树形结构数据的组件。它包含节点(Node)、根...
它支持动态加载、拖放操作、节点展开和折叠等功能。而下拉树是将树形结构嵌入到下拉框中,通常用于选择一组相关的项目,比如文件夹结构或组织架构。 2. **多选功能**:下拉多选树的一个重要特性是支持多选。通过...
7. **异步加载**:对于拥有大量子节点的树,EXTJS支持延迟加载或按需加载。只有当用户展开父节点时,才会请求并加载其子节点,这样可以显著提高性能。 8. **搜索性能优化**:在处理大量数据时,可以考虑对树进行...
在给定的标题和描述中,主要涉及了ExtJS中的动态树(tree)功能以及与AJAX的结合使用。下面将详细介绍这些知识点。 **动态树(Dynamic Tree)** 动态树是ExtJS中的一种控件,用于展示层次结构的数据。它可以实时地...
在这个特定的情况下,我们讨论的是一个定制的下拉树菜单控件——ComboBoxTree,它在ExtJS4中实现了单选和多选功能,并且具备展开选中指定节点的能力。这个控件在实际项目中已经被广泛使用并证明了其稳定性和实用性,...
EXTJS的动态树(TreePanel)组件允许开发者创建可交互的树形结构,这些结构可以动态地加载数据。树节点可以包含子节点,可以展开或折叠,支持拖放操作,非常适合用来展示层次化的信息,如目录结构、组织架构等。动态...
通过这个示例,我们可以了解到如何在ExtJS的折叠布局中集成树形结构,以及如何从服务器动态加载数据来构建这个树。这在实现具有层次结构的导航菜单或信息分类时非常有用。同时,我们也学习到了如何创建和配置不同的...