处理树最主要是如何获得树的子节点,我通过ajax调用action的方式获得了树的下级节点,返回json字符串.
以下是获得部门树的部分代码
ext js 创建树
var Tree = Ext.tree;
deptTree = new Tree.TreePanel({
el : elementId,
autoScroll:true,
animate:true,
enableDD:true,
containerScroll: true,
loader: new Tree.TreeLoader({
dataUrl: CONTEXT_PATH + "/depts/deptTree.do",
baseParams: filter
})
});
// set the root node
root = new Tree.AsyncTreeNode({
text: rootDesc,
draggable:false,
id:'-1'
});
deptTree.setRootNode(root);
// render the deptTree
deptTree.render();
root.expand();
ext js 重新加载树
/**
* 重新加载树
*
* @param {f}
* f 过滤树的条件 如:{placeid:'xxxxx'}
*/
reload : function (f){
filter = f;
var loader = deptTree.getLoader();
deptTree.on('beforeload', function(){
loader.dataUrl = loader.dataUrl ;
loader.baseParams = filter;
});
root.reload();
}
XWork.xml
<action name="deptTree" method="getSubNodes"
class="cn.org.coral.biz.depts.view.deptExtAction">
</action>
Action(Webwork)
/**
* ExtTree获得下级节点数据
* @return
*/
public String getSubNodes() throws Exception {
this.getHttpServletResponse().setCharacterEncoding("UTF-8");
PrintWriter out = this.getHttpServletResponse().getWriter();
String jsonString = service.getSubNodes(getFilter());
out.print(jsonString);
return null;
}
Service(通过Spring管理)
/**
* ExtTree获得下级节点数据
* @param filter
* @return
*/
public String getSubNodes(Map filter) {
JSONArray josnArray = new JSONArray();
List<ExtTreeNode> nodes = manager.getSubNodes(filter);
if(nodes !=null && !nodes.isEmpty()){
josnArray = JSONArray.fromObject(nodes);
}
return josnArray == null ? "":josnArray.toString();
}
自定义ExtTreeNode 树节点对象
package cn.org.coral.core.ext.objects;
import java.io.Serializable;
import org.directwebremoting.annotations.DataTransferObject;
/**
* ExtTreeNode对象
* @author Lib
*
*/
@DataTransferObject
public class ExtTreeNode implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
public ExtTreeNode(String id, String text, String cls, boolean leaf) {
super();
this.id = id;
this.text = text;
this.cls = cls;
this.leaf = leaf;
}
private String id;
private String text;
private String cls;
private boolean leaf;
/**
* @return the cls
*/
public String getCls() {
return cls;
}
/**
* @param cls the cls to set
*/
public void setCls(String cls) {
this.cls = cls;
}
/**
* 节点的id
* @return the id
*/
public String getId() {
return id;
}
/**
* 节点的id
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* 是否是叶子节点
* @return the leaf
*/
public boolean getLeaf() {
return leaf;
}
/**
* 是否是叶子节点
* @param leaf the leaf to set
*/
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
/**
* 节点显示名
* @return the text
*/
public String getText() {
return text;
}
/**
* 节点显示名
* @param text the text to set
*/
public void setText(String text) {
this.text = text;
}
}
分享到:
相关推荐
【EXT+Spring+Hibernate+WebWork项目】是一个综合性的企业级应用开发实例,它整合了四个关键的技术框架:EXT、Spring、Hibernate和WebWork。这些技术的组合为构建高效、可扩展且用户友好的Web应用程序提供了强大的...
标题 "spring+hibernate+webwork相关配置" 指的是一个集成开发环境的配置,其中涵盖了三个关键的技术框架:Spring、Hibernate和WebWork。这些框架在Java Web开发中非常常见,主要用于实现依赖注入、持久化管理和MVC...
在提供的文档“webwork+spring+hibernate架构.doc”中,可能详细阐述了这三者如何协同工作,包括配置文件设置、依赖注入的使用、事务管理策略以及具体实例的开发步骤。而“webwork.doc”则可能专门介绍了WebWork框架...
【veloctiy+webwork+ibatis+spring资料】这套学习资源主要涵盖了四个在Java Web开发领域中常用的技术框架:Velocity、WebWork、iBATIS和Spring。这四大框架各有其独特功能,组合使用可以构建出高效、灵活的业务应用...
本示例中,我们探讨的是如何将Spring、Hibernate、WebWork和FreeMarker这四个组件整合到一起,实现一个强大的后端服务架构。 首先,`web.xml`是部署描述符文件,它是Java EE Web应用程序的核心配置文件。在这里,...
在Webwork+Spring+Hibernate集成中,Spring通常作为整体架构的胶水,负责各组件的连接和协调。它可以管理Webwork的Action,通过依赖注入提供所需的Service和DAO。同时,Spring可以配置Hibernate SessionFactory,...
【hibernate+webwork+spring的学习资料】是一份针对J2EE开发的综合学习资源,涵盖了三个核心的Java企业级框架:Hibernate、Spring和WebWork。这些框架在现代Java应用开发中扮演着至关重要的角色。 **Hibernate**是...
在IT行业中,Web开发是一个非常重要的领域,而`webwork+hibernate+spring`的组合是其中一种经典的架构模式,常用于构建高效、可维护的企业级应用。这个小例子展示了如何将这三大框架整合起来,配合MySQL数据库进行...
本项目整合了三个重要的开源框架:Hibernate、WebWork和Spring,它们分别在数据持久化、MVC(Model-View-Controller)架构以及依赖注入方面扮演着关键角色。下面将详细解释这三个框架以及它们如何协同工作。 1. ...
本项目“Hibernate+Webwork+Spring+Oracle框架”是这样一种集成方案,它结合了四个强大的技术,旨在提供一个稳定且功能丰富的后端系统。下面将详细解释这四个关键技术及其相互间的协同工作。 **Hibernate** 是一个...
综上所述,"webwork+spring+hibernate+freemarker"的组合提供了一个强大的Java Web开发环境,能够方便地处理业务逻辑、数据库交互和视图展示。对于学习或实践Java Web开发的人员来说,理解和掌握这四个框架的协同...
【标题】"Hibernate+WebWork+Spring+Oracle框架(1)"揭示了这是一个关于整合四大技术的教程或项目实例,主要关注如何在Java Web开发环境中集成这些组件。这个框架组合通常用于构建企业级应用,提供数据持久化、业务...
最近在做个项目,用的是webwork+spring+hibernate,在网上看了不少webwork+spring的配制方式,大多都是老的配制方式,比如2.1.7的,webwork2.2.4新加了很多功能,和spring的配制也简单了很多,我做了一个简单的登录...
【标题】"webwork+hibernate+spring配置包"是一个集合了三个知名Java框架的配置文件,旨在帮助开发者快速搭建基于Web的应用程序。WebWork是用于构建动态Web应用程序的一个MVC框架,Hibernate是一个强大的对象关系...
【标题】"webwork+hibernate+spring的例子"展示了如何在实际项目中整合这三大框架,即WebWork、Hibernate和Spring。这三个框架是Java Web开发中的重要组件,它们各自承担着不同的职责,共同构建了一个功能强大的应用...