主要是通过struts2来生成响应javascript的
通过对应action相应给jsp页面
<div id="treeboxbox_tree" style="width:300px; height:200px;background-color:#f5f5f5;border :1px solid Silver; "/>
首先定义一个层,顺序不能弄乱
再进行加载数据
<script type="text/javascript">
tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
// tree.setImagePath("imgs/csh_bluefolders/"); //图片对应的路径(这里很重要)
tree.setImagePath("js/csh_vista/");
tree.enableCheckBoxes(1); 是否有选择框,1有,2无
tree.enableDragAndDrop(0); 是否允许拖动
tree.enableThreeStateCheckboxes(true);是否允许级联,选择其中一个父节点也对应选择
tree.setOnClickHandler(tonclick)创建点击事件,点击节点会触发事件
var url="<%=basePath%>/example/getCarTypeXML.action";
tree.loadXML(url);
function tonclick(){
//do something 可调用ajax验证下是不是 选择点击的该内容显示到 text框中
treeid = tree.getSelectedItemId();//得到该id
alert(treeid);
alert(tree.getSelectedItemText());//得到内容
}
</script>
2.对应的action类,用的是domj4创建的xml,当然也可以以其他方式生成xml文件
package testpack.xml;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class CarTypeAction {
public String getCarTypeXML() throws Exception {
System.out.println("diaoyong");
Document document = DocumentHelper.createDocument();
Element root = document.addElement("tree");
root.addAttribute("id", "0");
Element item = root.addElement("item");
item.addAttribute("text", "我的工作台");
item.addAttribute("id", "work console");
item.addAttribute("im0", "folderClosed.gif");
item.addAttribute("im1", "folderOpen.gif");
item.addAttribute("im2", "folderClosed.gif");
Element subItem = item.addElement("item");
subItem.addAttribute("text", "代办事宜");
subItem.addAttribute("id", "working");
subItem.addAttribute("open", "1");
subItem.addAttribute("im0", "folderClosed.gif");
subItem.addAttribute("im1", "folderOpen.gif");
subItem.addAttribute("im2", "folderClosed.gif");
Element subitem1=subItem.addElement("item");
subitem1.addAttribute("text", "代办事宜2-1");
subitem1.addAttribute("id", "working-01");
subitem1.addAttribute("im0", "book_titel.gif");
subitem1.addAttribute("im1", "fbook.gif");
subitem1.addAttribute("im2", "book_titel.gif");
String content = document.asXML();
System.out.println(content);
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter pw=response.getWriter();
pw.write(content);
pw.flush();
pw.close();
return null;
}
}
---如需要简单案例,联系我
//参数一是树所在页面组件的id,参数四是根节点id,可以是任意值或者字符串 |
02 |
tree= new dhtmlXTreeObject( "tree" , "100%" , "100%" ,0);
|
03 |
//树显示需要的各种图片文件目录,你可以在这里修改相应图片 |
04 |
tree.setImagePath( "xtree/csh_bluebooks/" );
|
05 |
//设置数据类型;默认是xml,注意:如果使用json加载数据,这里必须设置,否则dhtmlxtree会因为不会解析xml内容而抛出异常 |
06 |
tree.setDataMode( "json" );
|
07 |
//设置动态加载数据的url;其他数据类型也可,不限定xml,只要设置了该属性, |
08 |
tree.setXMLAutoLoading( "loadTree.action" );
|
09 |
//首次需要我们手动调用一次,以便加载根节点等基础信息; |
10 |
tree.loadJSON( "loadTree.action?id=0" );
|
11 |
tree.setXMLAutoLoading( function (id){ tree.loadJSON( "JSON/json?controller=Tree&action=List&path=" + getParents(id)); });
|
相关推荐
本篇文章将深入探讨如何在Java中有效地调用dhtmlXTree,并配置URL以加载XML数据。 首先,理解dhtmlXTree的工作原理至关重要。这个组件主要由JavaScript和CSS组成,用于在网页上渲染树形结构。XML文件则提供了数据...
描述中的链接提到了CSDN博客文章,其中详细介绍了如何使用XML HTTP请求来调用DhtmlxTree。通过XML,开发者可以动态地从服务器获取和显示数据,增强了树结构的实时性。这种技术基于AJAX(Asynchronous JavaScript and...
示例中的Java方法`fingCommonAll`是为了响应客户端的请求,返回XML数据。它从数据库获取数据,然后构建XML字符串返回给前端。这个方法需要返回符合dhtmlxtree加载XML格式的数据。 10. **XML数据格式**: 树形结构...
对于`struts2`框架的应用,`dhtmlxtree`可以通过Struts2的Action来获取数据,Action可以调用`servlet`或者直接与数据库交互,然后返回结果到前端。Struts2框架的强大在于其模型-视图-控制器(MVC)架构,使得业务...
3. **dhtmlxTree与SpringMVC的集成**:在SpringMVC项目中使用dhtmlxTree,需要在前端页面引入dhtmlxTree的JavaScript和CSS资源,然后通过AJAX请求获取服务器上的数据,通常这些数据由SpringMVC的控制器处理并返回。...
4. **客户端交互**:在前端,使用JavaScript和DhtmlXTree库,通过Ajax调用服务器端接口获取XML数据。 5. **渲染和更新**:DhtmlXTree会解析接收到的XML,根据其内容动态地创建和更新树形视图。 6. **事件监听**:...
在提供的压缩包中,`dom4j-1.6.1.jar` 文件包含了`DOM4J` 库的代码,这使得在Java环境中处理XML变得轻松。而`dhtmlxtree` 可能是通过JavaScript文件和CSS样式文件来实现的,虽然这些文件没有在列表中给出,但它们...
9. **API与插件**:dhtmlxGrid具有完善的API,可以通过JavaScript调用方法进行操作。同时,它还支持插件系统,可以扩展更多功能。 10. **响应式设计**:适应不同设备屏幕尺寸,支持移动设备和触摸操作。 在描述中...
在实际项目中,dhtmlx通常与其他技术结合使用,如AJAX进行异步数据交换,或者与服务器端框架(如PHP、ASP.NET、Java)集成。dhtmlx还支持MVC(Model-View-Controller)架构,有助于分离业务逻辑和界面展示。 **六、...