主要是通过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)); }); |