`

js结合ajax和struts2.0----树

    博客分类:
  • js
阅读更多

学习js有一段时间了,觉得它的灵活性是在是太厉害了,特别是结合一些js框架的应用。能上一些复杂的问题变的很的简单。今天我要和大家分享的js结合ajaxstruts2.0的一颗树。该想法的主要逻辑是:首先显示根节点,然后通过点击根节点,发送AJAX请求,从后台数据库中查询子节点,再通过回调函数把子节点插入到根节点下面,以此类推。这样不管有多大的树都不会变得很迟钝。如jsp代码: 

  • <form id="form1" name="form1" method="post" action="">	
    	<s:iterator value="buildingList" status="List">
    	<div  id="<s:property value="jzwbh" />" hasDtl='0'>
    	<img src='<%=path%>/console/images/tree/plus2.gif' id="budling" onclick="lookDtl('<s:property value="jzwbh" />');"  />
    	<input id="dzms" name="dzms" size="35" value=<s:property value="DZMS" /> onclick="displayBudlingInfo('<s:property value="jzwbh" />')" style="border-bottom:0px; border-left:0px;  border-right:0px; border-top:0px;cursor:pointer"/></div>
    	</s:iterator>	
      
  • 点击树的节点,执行lookDtl脚本,则通过ajax从数据库取出其需要的下一层的数据。将其数据返回显示到一个jsp页面,在ajax的回调函数中,把刚才的那个jsp页面插入显示父级树的页面上。以下是lookDtl和回调函数
    function lookDtl(jzwbh){
    	budlingDivObj=document.getElementById(jzwbh);	
    	var thisId=budlingDivObj.hasDtl;
    	if(thisId=='0'){
    		var _url="rkHouse_getHouseByJzwbh.do?jzwbh="+jzwbh+"&tempTime="+((new Date()).getTime());			
    		sendAjax(_url,"houseBak","text");
    	}else{
    		var childLen=budlingDivObj.childNodes.length;
    			
    		try{			
    			for(var i=4;i<=childLen;i++){
    				var  tt=budlingDivObj.childNodes[i];
    				//parent.alert(i+"= "+tt.innerHTML)
    				if(tt.style.display=='none'){  //判断是否已查询过数据
    					tt.style.display='';
    				}else{
    					tt.style.display='none'
    				}
    			}
    		}catch(err){}
    	
    	}
    	
    }
    function houseBak(_str){	
    	budlingDivObj.hasDtl='1';
    	var oldbudling=budlingDivObj.innerHTML;
    	budlingDivObj.innerHTML=oldbudling+_str;
    	
    }
     
  • ajax返回的页面的代码和最前面添出来的代码是一样的,这样随便有多少级的树都可以案同样的方法做。最主要的是用好把已好的div用innerHTML把他插入到相应的地方去。

 

分享到:
评论
3 楼 yunmanfan 2008-12-02  
starting 写道
lijiabin102 写道

这个树有动态删除动态调整节点的功能吗?还有挂上3000条数据生成的速度是多少呢?

动态删除,动态调整可能要自己用脚本去实现,请问你3000条数据还要用树吗?

不是的,楼主,楼上说的有道理。如果是在大型项目中,真正形成树的数据可能是几十万条,所以还是要考虑性能的问题。
2 楼 starting 2008-11-21  
lijiabin102 写道

这个树有动态删除动态调整节点的功能吗?还有挂上3000条数据生成的速度是多少呢?

动态删除,动态调整可能要自己用脚本去实现,请问你3000条数据还要用树吗?
1 楼 lijiabin102 2008-11-21  
这个树有动态删除动态调整节点的功能吗?还有挂上3000条数据生成的速度是多少呢?

相关推荐

    struts-2.0.11.2-lib

    在这个"struts-2.0.11.2-lib"压缩包中,包含了Struts2.0.11.2版本所需的所有核心库文件,这些文件对于理解和使用Struts2框架至关重要。 1. **Struts2的核心组件**: - `struts2-core.jar`:这是Struts2框架的核心...

    struts-2.0.11-all.zip

    - **插件系统**:Struts2的插件机制允许快速集成第三方库和功能,如Ajax、富客户端组件、REST服务等。 总的来说,Struts2.0.11-all.zip压缩包是学习和使用Struts2框架的重要资源,涵盖了框架的核心组件、扩展功能...

    ajax+struts2.0+jsp下拉列表级联

    在这个“ajax+struts2.0+jsp下拉列表级联”的示例中,我们将探讨如何利用这三个技术实现这种功能。 首先,AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页...

    struts2.0的基本jar包

    这个压缩包包含的是Struts2.0的核心库和其他必要的JAR文件,这些文件对于创建一个基于Struts2.0的项目至关重要。以下是对这些JAR包及其在Struts2.0框架中的作用的详细说明: 1. **struts2-core.jar**:这是Struts2...

    struts2.0必须包下载

    Struts2的JSON插件使得Action可以直接返回JSON响应,便于与Ajax和前端JavaScript交互,提升用户体验。 5. ** strut2-tiles-plugin**: Tiles是用于页面布局的一个框架,与Struts2结合可以方便地构建复杂页面结构。...

    struts 2.0与ajax 的实例

    Struts 2.0 和 AJAX 是两种在 Web 开发中广泛应用的技术,它们的结合使得创建交互性更强、响应更快的用户界面成为可能。Struts 2.0 是一个基于 Model-View-Controller(MVC)架构的Java web框架,而 AJAX...

    struts2.0 jar 包

    在学习和使用Struts2.0的过程中,"struts2.0"这个压缩包可能包含了Struts2框架的必备库文件,例如struts2-core.jar、struts2-convention-plugin.jar、struts2-dojo-plugin.jar等。这些JAR包包含了框架的核心组件、...

    动态树 Struts2.0

    总的来说,Struts2.0的动态树功能结合了Java后端处理、JSP标签、AJAX和JavaScript前端技术,为开发者提供了一种高效且灵活的方式来展示和操作层次结构数据。通过理解上述知识点,你可以构建出交互性强、响应迅速的...

    struts2.0必可不少的包

    在这个“struts2.0必可不少的包”中,我们主要关注的是Struts2的核心组件和依赖包,它们对于理解和构建基于Struts2的Web应用至关重要。以下是对这些包的详细解释: 1. **核心包**: - `struts2-core`: 这是最基础...

    ajax利用json在struts2.0中的使用

    总结起来,结合Ajax和JSON在Struts2.0中的应用,可以提高Web应用的交互性和响应速度。通过在后台Action中处理业务逻辑并返回JSON数据,前端JavaScript通过Ajax异步请求获取这些数据并更新界面,从而实现了无刷新的...

    Struts2.0+ajax

    Struts2.0和Ajax是Web开发中的两个关键技术,它们结合使用可以显著提升用户体验,实现页面的无刷新更新。在本项目中,我们看到的是一个简单的Ajax应用,它展示了如何利用Ajax实现异步数据传输,避免传统网页提交时的...

    常用的Struts 2.0的标签库

    通过结合Struts 2.0的Action、Interceptor和结果类型,可以构建出高效、灵活的Web应用。对于初学者来说,熟练掌握这些标签库是提升开发效率的关键。同时,了解每个标签的属性和用法,以及如何与后台数据进行交互,是...

    struts2.0+ztree+jquery动态生成树结构

    总之,通过结合Struts2.0、ZTree和jQuery,我们可以构建出交互性强、表现力丰富的动态树结构,从而提升用户体验,有效展示层次信息。理解并掌握这些技术的结合使用,对于提升Web开发能力非常有帮助。

    struts2.0中s:datetimepicker标签使用范例

    在探讨《struts2.0中s:datetimepicker标签使用范例》这一主题时,我们首先需要理解struts2框架以及其内置的s:datetimepicker标签的用途与配置方法。Struts2是一个开源的Web应用框架,基于MVC(Model-View-Controller...

    struts2.0 jar包

    Struts2.0是一款强大的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,旨在简化企业级应用程序的开发流程。Struts2提供了丰富的特性,如拦截器、插件架构、动态方法调用等,为开发者提供了一种高效...

    Struts2.0+Hibernate+Spring+Ajax集成jar

    Struts2.0、Hibernate、Spring 和 Ajax 是四个在Java Web开发中非常关键的技术框架,它们的集成可以构建出高效、灵活且可扩展的Web应用程序。让我们分别了解一下这些技术及其集成方式。 **Struts2.0**:Struts2是一...

    struts2.0与dwr开发实例

    Struts2.0作为MVC(Model-View-Controller)框架,主要用于构建企业级的Java Web应用,而DWR则是一种使得JavaScript可以与服务器端Java对象进行交互的技术,类似于一种Ajax库。在Struts2.0中集成DWR,可以极大地提升...

    struts2.0中文手册--CHM格式(写的非常好,强烈推荐)

    8. **Ajax支持**:Struts2能够很好地与Ajax技术结合,通过JsonResult和JavaScript库,实现页面的部分刷新,提高用户体验。 手册中还可能包含以下内容: - 安装与配置:介绍如何在项目中集成Struts2框架,包括pom....

    Struts2.0+dwr的分页

    为了将Struts2.0和DWR结合起来,你需要做以下几步: 1. 添加DWR的依赖到项目中,并配置web.xml和dwr.xml文件,以便DWR可以正确运行。 2. 在服务器端创建一个Java类,提供分页查询的方法,并使用DWR的`@RemoteProxy`...

Global site tag (gtag.js) - Google Analytics