动态树的页面加载 用dwr加载
常常有两个字段,一棵树还需要挂树
后台处理 根节点+第一级+子级
可以写死 +字段PID=0+ pid=第一级的uuid
要挂树就用pid等于uuid进行判断
记得加载
ext-tree.js 头文件
cmLeafPosition.initTree=function(){
var root = new Ext.tree.AsyncTreeNode({
id : "root",
leaf : false,
text : "烟叶类型",
href:'#',
hrefTarget:''
});
var loader = new Ext.tree.DWRTreeLoader({
dwrCall:cmLeafTypeManager.getNodes
});
var tree=cmLeafPosition.baseTree=new Ext.tree.TreePanel({
id:'tree',
root:root,
loader:loader,
useArrows:true,//是否使用箭头样式
autoScroll:true,
animate:true,//展开,收缩动画
rootVisble:true//根节点是否可见
//enableDD:true, // 是否可以拖放节点
});
//tree的点击事件
Ext.getCmp('tree').on('click',function(Nodes,e){
var NodeText=cmLeafPosition.NodeText=Nodes.text;//获取点击的值
var id=cmLeafPosition.id=Nodes.id;//获取ID
})
后台处理
public List getTreeNodes(String id, String href, String hrefTarget) {
List nodes = new ArrayList();
List children = new ArrayList();
if (id.equalsIgnoreCase("root")) {
children = dao.getAllObjectLevel();
} else {
children = dao.getAllChildrenObjectLevel(id);
}
for (Iterator iterator = children.iterator(); iterator.hasNext();) {
CmMaterialCategory cmMaterialCategory = (CmMaterialCategory) iterator.next();
boolean isEnd = cmMaterialCategory.getMaterialCategoryLevel().equalsIgnoreCase("2");
Integer cmMaterialCategoryLevel=new Integer(cmMaterialCategory.getMaterialCategoryLevel());
nodes.add(new TreeNode(cmMaterialCategory.getMaterialCategoryId(),
cmMaterialCategory.getMaterialCategoryName(),
cmMaterialCategory.getMaterialCategoryCd(), "con-org",href, hrefTarget, false, isEnd,
cmMaterialCategoryLevel==null?new Integer(0):cmMaterialCategoryLevel ));
}
return nodes;
}
/*
* (non-Javadoc)
*
* @see com.icsshs.tlcom.cm.material.service.CmMaterialCategoryManager#
* getParentTreeNodes(java.lang.String, java.lang.String, java.lang.String)
*/
public List getParentTreeNodes(String id, String href, String hrefTarget) {
List nodes = new ArrayList();
List children = new ArrayList();
if (id.equalsIgnoreCase("root")) {
children = dao.getAllObjectLevel();
}
for (Iterator iterator = children.iterator(); iterator.hasNext();) {
CmMaterialCategory cmMaterialCategory = (CmMaterialCategory) iterator.next();
Integer cmMaterialCategoryLevel=new Integer(cmMaterialCategory.getMaterialCategoryLevel());
nodes.add(new TreeNode(cmMaterialCategory.getMaterialCategoryId(),
cmMaterialCategory.getMaterialCategoryName(),
cmMaterialCategory.getMaterialCategoryCd(), "con-org",href, hrefTarget, false, true,
cmMaterialCategoryLevel==null?new Integer(0):cmMaterialCategoryLevel));
}
return nodes;
}
分享到:
相关推荐
在标题中提到的"DWRtree DWR实现AJAX的一个树形",指的是使用DWR来创建一个基于AJAX的动态树形结构。这种树形结构通常用于网站导航、文件目录展示或者层级数据的交互操作。通过AJAX,用户可以在不刷新整个页面的情况...
**DWR (Direct Web Remoting) TREE 概述** DWR (Direct Web Remoting) 是一个开源的Java库,它允许Web应用程序实现AJAX(Asynchronous JavaScript and XML)功能,从而提供更丰富的用户界面和交互性。DWR的核心功能...
6. **性能优化**:DWR Tree控件通常只加载可视区域内的数据,即所谓的“懒加载”或“按需加载”,这样可以减少初次加载时的数据量,提高页面响应速度,尤其对于包含大量节点的树结构特别有用。 7. **自定义节点渲染...
**Ajax与DWR:实现页面无刷新加载** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高...
在本例中,我们将利用DWR的这一特性,实现在页面加载时从服务器获取下拉框的数据。 1. **配置DWR**: - 在服务器端,你需要添加`dwr.jar`到项目的类路径中,这是DWR的核心库。 - 创建一个名为`dwr-engine.js`的...
你只需要准备好一张加载提示时需要显示的图片,最好是gif格式的。然后在js里调用。
当我们谈论“DWR方式动态加载EXT TreePanel”时,意味着我们需要使用DWR来获取服务器端的数据,并将其动态地填充到EXT TreePanel中,以实现数据的实时更新和交互性。这种技术的应用场景可能包括:当用户需要查看或...
**正文** ...综上所述,DWR提供了一种有效的途径,使得即使在低版本的IE浏览器中,也能实现服务器推送和页面无刷新的数据实时获取。理解并熟练掌握DWR的原理和应用,对于开发高效、实时的Web应用至关重要。
2. **请求后处理**:使用`DWREngine.setPostHook(jsfun)`则在DWR调用完成后执行一个函数,例如隐藏“正在加载数据..”的信息或清除加载提示。这样可以确保当数据加载完成或处理结束后,用户界面恢复到正常状态。 ...
Direct Web Remoting (DWR) 是一种在Web应用程序中实现异步JavaScript和Java交互的技术,它允许前端JavaScript...通过学习和理解这个简单的DWR实例,你将能更好地掌握如何在自己的项目中应用DWR,实现无刷新页面交互。
Ext JS的Tree组件支持动态加载,可以按需请求和显示子节点,极大地提高了用户体验。 接着,我们来看**Direct Web Remoting (DWR)**。DWR是一种让Java方法可以直接在JavaScript中调用的技术,无需编写复杂的AJAX代码...
在这个"Dwr-test.zip_dwr test_dwr页面跳转"的例子中,我们主要关注的是如何利用DWR框架在不进行页面跳转的情况下,实现后台请求并更新页面内容。这通常涉及到以下几个关键知识点: 1. **DWR的基本概念**: - **...
这极大地提高了用户体验,因为用户不再需要等待完整的页面加载。通过创建自定义的DWR服务,我们可以定义一组可以在JavaScript中调用的Java方法,这些方法通常负责与服务器端的数据进行交互。 描述中的“线程”部分...
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
现在我们来详细探讨如何利用ZTree和DWR实现异步加载树形菜单。 首先,ZTree是一个轻量级、灵活的jQuery插件,适用于构建可自定义的树形菜单。它支持多种操作,如点击节点、拖拽节点、右键菜单等,且提供了丰富的API...
在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种技术,它允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这极大地提高了用户体验,因为用户无需等待整个页面重新加载就能...
DWR使得动态网页能够更新部分页面内容,无需整个页面刷新,提升了用户体验。 DWR使用笔记.chm:这可能是一份详细的DWR使用手册,包含了如何集成DWR到项目中、配置DWR引擎、创建远程接口以及处理各种交互的实例。...
**标题:“ExtJs+ Dwr 页面登入功能”** 在网页应用开发中,用户登录功能是不可或缺的一部分,它确保了用户身份的安全验证和访问权限的控制。本项目将讲解如何使用ExtJs(一个强大的JavaScript框架)结合DWR...
DWR的另一个特点是支持AJAX的CORS(跨源资源共享),允许不同域的页面调用服务器资源,但需在`web.xml`中正确配置`crossDomainSessionSecurity`参数。 总结来说,DWR通过简化JavaScript与Java的交互,实现了Web应用...
- **动态图表**:DWR可用于动态加载和更新图表数据,无需页面刷新。 6. **最佳实践**: - **异步处理**:尽可能地使用异步调用来避免阻塞用户界面。 - **错误处理**:在JavaScript中处理可能的服务器错误,提供...