Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将动态Javascript树结构加载到JSP中_Java_Javascript_Jsp_Dynamic_Tree - Fatal编程技术网

将动态Javascript树结构加载到JSP中

将动态Javascript树结构加载到JSP中,java,javascript,jsp,dynamic,tree,Java,Javascript,Jsp,Dynamic,Tree,所以我想读一个数据库,然后形成一个树形结构,并把它放在我的网页上。我现在正在使用destroydrop树,我可以让它自己工作,但是如果我想构建树,然后将其放入我的网页,那么我的网页会被覆盖,因为它使用document.write(树)来创建树。我还试过其他一些树,它们都有同样的问题。有谁知道一个树结构,我可以动态添加到我的页面,而不覆盖页面上的内容?谢谢 你可以试试。Nitobi Completeui框架具有客户端和服务器端 您可以在中找到样本。非常感谢您的帮助。我最终只是重写了document

所以我想读一个数据库,然后形成一个树形结构,并把它放在我的网页上。我现在正在使用destroydrop树,我可以让它自己工作,但是如果我想构建树,然后将其放入我的网页,那么我的网页会被覆盖,因为它使用document.write(树)来创建树。我还试过其他一些树,它们都有同样的问题。有谁知道一个树结构,我可以动态添加到我的页面,而不覆盖页面上的内容?谢谢

你可以试试。Nitobi Completeui框架具有客户端和服务器端


您可以在中找到样本。

非常感谢您的帮助。我最终只是重写了document.write

document.write = function(){
    document.getElementById("MyDiv").innerHTML = arguments[0];
}

function getTreeStruct() {
new Ajax.Request('MainServlet', {
    method: 'POST',
    parameters: "action=getTreeStruct",
    onSuccess: function(transport) {

        d = new dTree('d');
        d.add(0, -1, 'Root Element');
        //contains data queried from database to be inserted into the tree.
        var responseArray = transport.responseText.split("|");
        //Add each element to the tree object
        iterate1DArray(function(x) {
            var tempArray = x.split(",");
            if(tempArray[1] != undefined
                    && !(tempArray[0] == 0 && tempArray[1] ==0)){
                d.add(tempArray[0], tempArray[1], tempArray[2]);
            }
        }, responseArray);

        document.write(d);

    }
});

}

function iterate1DArray(func, array) {
    for( var i = 0; i < array.length; i++){
        array[i] = func(array[i]);
    }
}
document.write=function(){
document.getElementById(“MyDiv”).innerHTML=参数[0];
}
函数gettrestruct(){
新的Ajax.Request('MainServlet'{
方法:“POST”,
参数:“action=gettrestruct”,
onSuccess:功能(传输){
d=新数据树(“d”);
d、 添加(0,-1,'根元素');
//包含从要插入到树中的数据库中查询的数据。
var responseArray=transport.responseText.split(“|”);
//将每个元素添加到树对象
迭代Darray(函数(x){
var tempArray=x.split(“,”);
if(tempArray[1]!=未定义
&&!(tempArray[0]==0&&tempArray[1]==0)){
d、 添加(tempArray[0]、tempArray[1]、tempArray[2]);
}
},回复日期(星期日);
文件编写(d);
}
});
}
函数迭代Darray(函数,数组){
对于(var i=0;i

我没有包含树的代码,但是可以找到它。我想我会把这个放在这里,以防其他人有这种问题。再次感谢你的帮助

覆盖其中的内容?我不太明白。为什么不使用现有的树控件?或者创建一个基于JSP的自定义标记来为您进行格式化?你可能需要更具体地说明你想要什么。对此很抱歉。所以我有一个加载的页面。加载后,我动态构建javascript,通过向树对象添加元素来创建树。问题是一旦调用document.write(tree),我就将tree对象传递给它,它会覆盖网页并创建一个新的网页,其标题为空,我会丢失树工作所需的所有脚本引用。我希望这有点帮助=/你为什么要写一个
文档。写(…)
?是否要将其添加到页面上的特定div/span/等,而不是替换整个页面?此外,还可以使用jQuery(或类似工具)来执行DOM脏工作。另外,使用树组件,除非你只是在构建一些简单的东西。这正是我想要做的。我不允许使用jQuery,否则我会大笑。这是为了工作,这棵树相当大。如果我在一个div中加载javascript,它会在页面加载的情况下运行吗?你不在一个div中加载javascript(这并不重要),你用javascript构建你的DOM,然后将DOM(或HTML)插入到一个div中。