页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!-- 配置插件 -->
<link rel="stylesheet" type="text/css" href="dhtmlxtree.css">
<script type="text/javascript" src="jquery-1.10.2.js"></script>
<script type="text/javascript" src="dhtmlxcommon.js"></script>
<script type="text/javascript" src="dhtmlxtree.js"></script>
<script type="text/javascript">
function init() {
//获取要显示的位置
var divTree = document.getElementById("divTree");
//建立tree树形控件的对象
//设置现实的位置,占的大小,数的根节点,以ID进行查询
tree = new dhtmlXTreeObject(divTree, "100%", "100%", 0);
//选取显示的图片
tree.setImagePath("imgs/csh_winstyle/");
//加载xml文件----
//发送请求获取动态的数据
tree.loadXML("<%=path%>/getXml/tree");
}
</script>
</head>
<body>
<input type="button" id="bt" value="产生树" onclick="init()" />
<div style="width: 300px;height: 500px" id="divTree"></div>
</body>
</html>
action请求
package action;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import model.Board;
import model.Tree;
import com.opensymphony.xwork2.ActionSupport;
import com.thoughtworks.xstream.XStream;
public class XmlAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 5576292360270369489L;
public void getXml() throws IOException {
Tree tree = new Tree();
tree.setId(0);
Board board = new Board();
board.setBoardId(1);
board.setBoardName("CSDN论坛");
board.setParentId(0);
// 第一个主板块
Board java = new Board();
// 主板块parentid = 0
java.setBoardId(2);
java.setParentId(1);
java.setBoardName("java");
// 子版块
Board jsp = new Board();
jsp.setParentId(1);
jsp.setBoardId(3);
jsp.setBoardName("jsp");
Board ssh = new Board();
ssh.setParentId(1);
ssh.setBoardId(4);
ssh.setBoardName("ssh");
// 主板块添加子版块
java.getBoards().add(jsp);
java.getBoards().add(ssh);
// 第二个主板块
Board net = new Board();
net.setParentId(0);
net.setBoardId(5);
net.setBoardName(".net");
// 子版块
Board mvc = new Board();
mvc.setParentId(5);
mvc.setBoardId(6);
mvc.setBoardName("mvc");
Board wcf = new Board();
wcf.setParentId(5);
wcf.setBoardId(7);
wcf.setBoardName("wcf");
// 主板块添加子版块
net.getBoards().add(mvc);
net.getBoards().add(wcf);
board.getBoards().add(java);
board.getBoards().add(net);
tree.setBoard(board);
XStream xstream = new XStream();
xstream.alias("tree", Tree.class);
xstream.alias("item", Board.class);
xstream.aliasAttribute(Tree.class, "id", "id");
xstream.aliasAttribute(Tree.class, "board", "item");
xstream.aliasAttribute(Board.class, "boardId", "id");
xstream.aliasAttribute(Board.class, "boardName", "text");
xstream.aliasAttribute(Board.class, "parentId", "parentId");
xstream.aliasAttribute(Board.class, "boards", "item");
xstream.addImplicitCollection(Board.class, "boards");
String xml = xstream.toXML(tree);
System.out.println(xml);
HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter out = response.getWriter();
out.print(xml);
out.flush();
out.close();
}
}
struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="getXml" namespace="/getXml" extends="struts-default">
<action name="tree" class="action.XmlAction" method="getXml">
</action>
</package>
</struts>
model实体类
package model;
import java.util.ArrayList;
import java.util.List;
public class Board {
private int boardId = 1;
private String boardName = "Jsp";
private int parentId = 0;
private List<Board> boards = new ArrayList<Board>();
public int getBoardId() {
return boardId;
}
public void setBoardId(int boardId) {
this.boardId = boardId;
}
public String getBoardName() {
return boardName;
}
public void setBoardName(String boardName) {
this.boardName = boardName;
}
public int getParentId() {
return parentId;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public List<Board> getBoards() {
return boards;
}
public void setBoards(List<Board> boards) {
this.boards = boards;
}
}
中间实体类用来当作根节点
package model;
public class Tree {
private Integer id;
private Board board;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Board getBoard() {
return board;
}
public void setBoard(Board board) {
this.board = board;
}
}
红框中的是dhtmlxTree插件中的东西
分享到:
相关推荐
JS 带右键菜单的目录树 dhtmlxtree+proto.menu 分权限 JS 带右键菜单的目录树 dhtmlxtree+proto.menu 分权限 图片预览 ...
JS 带右键菜单的目录树 dhtmlxtree+proto.menu JS 带右键菜单的目录树 dhtmlxtree+proto.menu JS 带右键菜单的目录树 dhtmlxtree+proto.menu ...
圣诞节到了,我为大家送上java版的纯json数据构建树的demo,嘻嘻有了这个demo想建多少棵圣诞树也不是问题!送给各位位辛勤劳动的软件工程师们,祝大家圣诞快乐,新年快乐!身体健康,事业有成哦!
JS树形菜单是很常用的JS特效代码,常用在管理软件当中,但是一套树形菜单已经不能满足需求,所以如果能有一套比较全面的树形菜单JS特效代码,将会非常方便,下面懒人萱将超全的JS树形菜单(dhtmlxTree)共享出来,...
dhtmlxTree各类动态树的实现能运行,是一个组件,可直接调用它的方法实现你想要的东西
dhtmlxTree 树形控件 JavaScript
dhtmlXtree树 右dhtmlXtree键菜单
JavaScript写的dhtmlXTree类库实现的各种树形列表示例demo,需要放到服务器环境中运行,直接打开不好使
Java 动态树 dhtmlxtree,可以隐藏和展开树,得到树根,树枝节点名称。
本文件包含有各种树性菜单,可以学习,或者在此基础上进行二次开发
内容索引:脚本资源,Ajax/JavaScript,树形菜单 dhtmlxTree 树形菜单大集合,就从Dhtml类库里摘录出来的,包含了许多种树形菜单的样式,部分样式如截图所示,不一一上图了,需要的请下载查看。这些树形菜单个个都经过...
dhtmlxtree构建动态维护树,介绍dhtmltree的构建以及修改!
动态生成树形菜单,每个节点都有各自的URL地址,单击不同的节点框架页的右侧跳转到该节点所对应的URL。(框架页说明:左边是树形菜单;右边是显示页面相应信息的页面) 分析: dhtmlXTree提供了很好的添加,删除...
最近一直在做后台的一些管理系统,用到dhtmlxTree的内容比较多,以前没有接触过,因此整理了一个简单的Demo(使用的是SpringMVC框架)。
完善dhtmlxTree目录树,实现以下内容: 1、右键菜单(右键菜单中包括:新建、修改、共享、删除、刷新等功能) 2、拖拽排序 教程:http://blog.csdn.net/zm2714/article/details/7936565 本压缩包内实例代码是...
dhtmlxTree 树菜单.docx
js动态树合集dhtmlXTree和dtree.rar 讲解说明 和api
可加载树形菜单的帮助文档,能够方便的生成各式各样的dhtmlxTree
类似于ext的效果,实现了简单的子节点的自动缩进。方便查看树形节点