0 0

E3_tree刷新页面后如何自动展开选中节点?拜托了!0

import net.jcreate.e3.tree.Node;
import net.jcreate.e3.tree.TreeDirector;
import net.jcreate.e3.tree.TreeModel;
import net.jcreate.e3.tree.UncodeException;
import net.jcreate.e3.tree.UserDataUncoder;
import net.jcreate.e3.tree.ext.ExtTreeBuilder;
import net.jcreate.e3.tree.support.AbstractWebTreeModelCreator;
import net.jcreate.e3.tree.support.DefaultTreeDirector;
import net.jcreate.e3.tree.support.WebTreeBuilder;
import net.jcreate.e3.tree.support.WebTreeNode;
import net.jcreate.e3.tree.xtree.CheckXTreeBuilder;
import net.jcreate.e3.tree.xtree.RadioXTreeBuilder;

import com.thinkroc.trps.rbac.domains.TreeBean;

public class TreeServer {
private static String[] idArray = null;

public static String getTree(HttpServletRequest request,
HttpServletResponse response, List treeList,
String[] hasResourceId, boolean isExtTree, boolean flag) {
if (hasResourceId != null) {
idArray = hasResourceId;
}

// 业务数据解码器,从业务数据中分解出id和parentid
UserDataUncoder userDataUncoder = new UserDataUncoder() {
public Object getID(Object pUserData) throws UncodeException {
TreeBean treeBean = (TreeBean) pUserData;
return treeBean.getId();
}

public Object getParentID(Object pUserData) throws UncodeException {
TreeBean treeBean = (TreeBean) pUserData;
return treeBean.getParentId();
}
};

// Tree模型构造器,用于生成树模型
AbstractWebTreeModelCreator treeModelCreator = new AbstractWebTreeModelCreator() {
// 该方法负责将业务数据映射到树型节点
protected Node createNode(Object pUserData, UserDataUncoder pUncoder) {
TreeBean treeBean = (TreeBean) pUserData;
WebTreeNode result = new WebTreeNode(treeBean.getName(),
"node_" + treeBean.getId());
result.setValue(treeBean.getId());
if (idArray != null) {
for (int i = 0; i < idArray.length; i++) {
if (idArray[i].equals(treeBean.getId())) {
result.setSelected(true);
break;
}
}
}
// action是点击按纽执行的方法.可以是url,或者javascript函数
result.setAction("javascript:action('" + treeBean.getId()
+ "')");
return result;
}
};
treeModelCreator.init(request);
TreeModel treeModel = treeModelCreator
.create(treeList, userDataUncoder);
TreeDirector director = new DefaultTreeDirector();// 构造树导向器
// 构造树Builder
WebTreeBuilder treeBuilder = null;
if (isExtTree) {
treeBuilder = new ExtTreeBuilder();
} else {
if (flag) {
treeBuilder = new CheckXTreeBuilder();
} else {
treeBuilder = new RadioXTreeBuilder();
}
}
treeBuilder.init(request);
director.build(treeModel, treeBuilder);// 执行构造
return treeBuilder.getTreeScript();// 获取构造树的脚本
}
}
2012年12月03日 16:07
目前还没有答案

相关推荐

    E3_Table_Tree_war_实例_树表控件

    在"E3_Table_Tree_war_实例_树表控件"这个实例中,我们可以推测这是一个包含E3table Etree树表控件的Web应用项目。E3table Etree可能是该控件的特定实现或定制版,提供了一种高效且用户友好的方式来显示和操作具有...

    E3tree开发文档

    E3.Tree是一个在E3平台上构建树形UI(如菜单、树、外挂栏等)的组件。这个组件的特点在于其部署简便,只需要将相关的jar文件放入WEB-INF/lib目录下即可。E3.Tree提供API和taglib两种使用方式,适应性强,支持包括...

    e3tree参考手册

    在这样的应用中,E3.Tree能够一次性加载所有数据,优化了页面加载效率,提高了用户体验。 ### 系统要求 使用E3.Tree前,需要确保你的开发环境满足以下条件: 1. **Java版本**:E3.Tree通常与Java 7或更高版本兼容,...

    e3tree 树控件的使用

    在Java端,你可以使用`E3TreeNode`类来表示树节点,并使用`E3Tree`类的方法来操作这些节点。例如,`addChild()`方法用于添加子节点,`removeNode()`用于移除节点。对于前端展示,E3Tree提供了一个Taglib库,可以在...

    E3.tree开发文档以及使用手册

    《E3.tree开发文档及使用手册》是一份详尽的资源,主要针对E3.tree这一JavaScript组件进行深入解析。E3.tree是一款强大的前端数据展示工具,尤其适用于构建层级结构的数据视图,例如组织架构、文件目录等。它以其...

    E3TREE说明书

    在完成上述步骤后,进行全面的单元测试和集成测试,确保E3Tree的所有功能都能正常工作。可以使用JUnit等测试框架来编写和执行测试。 总结,E3Tree是一种强大且灵活的数据结构,适合在多种应用场景下使用。通过理解...

    E3Tree参考手册,很实用

    E3Tree是一款专业的数据结构库,特别适用于Java开发环境,主要提供树形数据结构的高效管理和操作。E3.Tree参考手册是为开发者提供详细指导和帮助的文档,它涵盖了从安装配置到实际应用的全过程。 **简介** E3.Tree...

    E3_2_matlab_

    标题中的"E3_2_matlab_"可能指的是一个与MATLAB相关的第三章的第二个练习或案例。MATLAB是一款广泛用于数值计算、符号计算、数据可视化、图像处理和编程的高级技术计算软件。MATLAB的语法简洁且功能强大,使得它在...

    E3Tree中文参考1.5]

    E3Tree的设计模型围绕着树型结构的高效渲染与交互展开,其中包含对业务数据对象、控制器Servlet、JSP页面以及`web.xml`配置的详细说明。这一架构不仅确保了组件的高性能表现,同时也便于开发者理解和定制。 #### 六...

    Source_infineon_HybridPACK_FS50R07W1E3_B11A_

    【标题】"Source_infineon_HybridPACK_FS50R07W1E3_B11A_" 提供的是英飞凌(Infineon)针对其HybridPACK FS50R07W1E3_B11A产品的软件示例。这个标题暗示了我们即将探讨的内容是关于电力电子领域的驱动控制方案,特别...

    E3_Dian_Zi_He_Zhi_Bi.m

    E3_Dian_Zi_He_Zhi_Bi.m

    MyEclipse_6_0_1GA_E3_3_1_fullStackInstaller_for_linux.part04.rar

    MyEclipse 6.0GA版本的linux安装程序,由于上传大小限制,共分为10卷。

    MyEclipse_6_0_1GA_E3_3_1_fullStackInstaller_for_linux.part06.rar

    MyEclipse 6.0GA版本的linux安装程序,由于上传大小限制,共分为10卷。

    E3Tree开发文档

    ### E3Tree开发文档知识点概览 #### 一、E3Tree概述 - **定义**:E3Tree是一个专门用于构建树形用户界面(UI)的组件,适用于创建菜单、树形结构、Outlook风格的栏等场景。 - **特点**: - 部署简单:只需将相关...

    TPL-E3_win7驱动

    标题“TPL-E3_win7驱动”表明这是一份专为TPL-E3网卡设计的Windows 7操作系统驱动程序。在IT领域,驱动程序是计算机硬件与操作系统之间的重要桥梁,允许操作系统识别并有效控制硬件设备。TPL-E3可能指的是某个特定...

    E3_4.sav

    E3_4.sav

    e3tree

    "e3tree"是一个关于树形结构集合的项目,它可能是一个用于数据组织和操作的软件库或框架。在IT领域,树形结构是数据结构的一种,广泛应用于各种编程任务,如文件系统、数据库索引、图形用户界面的菜单结构等。下面...

    E3 最新例子包,包括table,tree等

    E3从07年10月份推出后,到目前经历1年多时间的发展,旗下已经有E3.Tree、E3.Table、 E3.ID、E3.Resource和E3.Calendar等组件,在整个E3团队的努力下,这些组件日趋成熟。 为了让更多人了解,认识并在项目中去使用E3,E3...

    -Scratch News- BlueberryDan (E3_S1).sb3_.sb3_scratch_

    《Scratch新闻:BlueberryDan(E3_S1).sb3——探索Scratch编程的魅力》 Scratch,由麻省理工学院(MIT)的“终身幼儿园团队”开发,是一款面向儿童的图形化编程工具,旨在帮助孩子们学习编程思维,激发他们的创造...

    E3_3_haganmatlab_Book2_perceptronmatlab_

    标题"E3_3_haganmatlab_Book2_perceptronmatlab_"暗示了这是一个关于使用MATLAB实现感知器算法的教程,可能来自于Hagan的第二本书。描述"Perceptrpm 2-2 Haagam Book"可能是描述该教程属于Hagan书中关于感知器的第二...

Global site tag (gtag.js) - Google Analytics