samungtered
2009-04-20 22:02
浏览 196

dhtmlXtree的问题

我要见过action response 一段字符串(xml格式的)
为什么总报错呢?

[code="java"]
public String loadXML() throws Exception {
//我自己给定义一组静态的数据
try {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/xml");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0); //prevents caching at the proxy server

        StringBuffer sb = new StringBuffer();
        //String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\t<tree id=\"0\">\t<item text=\"系统管理\" id=\"root\" open=\"1\" im0=\"tombs.gif\" im1=\"tombs.gif\" im2=\"iconSafe.gif\" call=\"1\" select=\"1\">\n\t<item text=\"用户沟通管理\" id=\"1\" im0=\"folderClosed.gif\" im1=\"folderOpen.gif\" im2=\"folderClosed.gif\">\t<item text=\"外呼业务\" id=\"11\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\">\t<item text=\"外呼业务1\" id=\"111\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\" checked=\"1\"/>\t<item text=\"外呼业务2\" id=\"112\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t<item text=\"外呼业务3\" id=\"113\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t<item text=\"外呼业务4\" id=\"114\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t<item text=\"外呼业务5\" id=\"115\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t</item>\t</item>\t</item>\t</tree>";
        //sb.append(xmlString);
        String s = new String("");

        s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\t";
        s += "<tree id=\"0\">\t";
        s += "<item text=\"系统管理\" open=\"1\" im0=\"tombs.gif\" im1=\"tombs.gif\" im2=\"iconSafe.gif\" call=\"1\" select=\"1\">\t";
        s += "<item text=\"用户沟通管理\" id=\"11\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\">\t";
        s += "<item text=\"用户沟通管理1\" id=\"111\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t";
        s += "<item text=\"用户沟通管理2\" id=\"112\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t";
        s += "<item text=\"用户沟通管理3\" id=\"113\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t";
        s += "<item text=\"用户沟通管理4\" id=\"114\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t";
        s += "<item text=\"用户沟通管理5\" id=\"115\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t";
        s += "</item></item></tree>";

        System.out.println("---" + s);

// sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append(" ");

        //response.getWriter().write(sb.toString());
        response.getWriter().write(s);
    } catch (IOException e) {
        e.printStackTrace();
    }

    return NONE;
}

[/code]

页面
[code="java"]
tree2 = new dhtmlXTreeObject("treeboxbox_tree2", "100%", "100%", 0);
tree2.setImagePath("../../codebase/imgs/csh_bluebooks/");
tree2.setEscapingMode("utf-8");
//显示checkbox
tree2.enableCheckBoxes(1);
tree2.enableThreeStateCheckboxes(true);
//tree2.setDataMode("xml");
//tree2.loadXML("treeRole.xml");
//tree2.loadXMLString(xmlString);
tree2.loadXML("/PluginWeb/erp/loadXML/loadXML.action");
[/code]

在ff上测试 数据都取出来了 确为什么总报 [img]http://www.iteye.com/upload/attachment/95984/23029811-de08-3c50-8728-e48f9b0a557a.jpg[/img]

请朋友们帮过忙 改怎么解决啊
[b]问题补充:[/b]
[quote]
<?xml version=\"1.0\" encoding=\"utf-8\"?>
这个去掉看看
[/quote]

加了不行呢
奇怪啊 我自己写好的字符串组就可以
我通过java按逻辑拼接的为社么 就包错误呢?
依然是哪个错误

[b]问题补充:[/b]
[code="java"]
try {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/xml");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0); //prevents caching at the proxy server
response.setHeader("Content-type", "application/xhtml+xml");

        StringBuffer sb = new StringBuffer();
        //String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\t<tree id=\"0\">\t<item text=\"系统管理\" id=\"root\" open=\"1\" im0=\"tombs.gif\" im1=\"tombs.gif\" im2=\"iconSafe.gif\" call=\"1\" select=\"1\">\n\t<item text=\"用户沟通管理\" id=\"1\" im0=\"folderClosed.gif\" im1=\"folderOpen.gif\" im2=\"folderClosed.gif\">\t<item text=\"外呼业务\" id=\"11\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\">\t<item text=\"外呼业务1\" id=\"111\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\" checked=\"1\"/>\t<item text=\"外呼业务2\" id=\"112\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t<item text=\"外呼业务3\" id=\"113\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t<item text=\"外呼业务4\" id=\"114\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t<item text=\"外呼业务5\" id=\"115\" im0=\"book_titel.gif\" im1=\"book.gif\" im2=\"book_titel.gif\"/>\t</item>\t</item>\t</item>\t</tree>";
        //sb.append(xmlString);
        String s = new String("");

        //s = "<?xml version=\'1.0\' encoding=\'utf-8\'?>";
        s += "<tree id=\'0\'>";
        s += "<item text=\'系统管理\' open=\'1\' im0=\'tombs.gif\' im1=\'tombs.gif\' im2=\'iconSafe.gif\' call=\'1\' select=\'1\'>";
        s += "<item text=\'用户沟通管理\' id=\'11\' im0=\'book_titel.gif\' im1=\'book.gif\' im2=\'book_titel.gif\'>";
        s += "<item text=\'用户沟通管理1\' id=\'111\' im0=\'book_titel.gif\' im1=\'book.gif\' im2=\'book_titel.gif\'/>";
        s += "<item text=\'用户沟通管理2\' id=\'112\' im0=\'book_titel.gif\' im1=\'book.gif\' im2=\'book_titel.gif\'/>";
        s += "<item text=\'用户沟通管理3\' id=\'113\' im0=\'book_titel.gif\' im1=\'book.gif\' im2=\'book_titel.gif\'/>";
        s += "<item text=\'用户沟通管理4\' id=\'114\' im0=\'book_titel.gif\' im1=\'book.gif\' im2=\'book_titel.gif\'/>";
        s += "<item text=\'用户沟通管理5\' id=\'115\' im0=\'book_titel.gif\' im1=\'book.gif\' im2=\'book_titel.gif\'/>";
        s += "</item></item></tree>";

        System.out.println("---" + s);

[/code]

还是不行啊 怎么回事呢
我非常之奇怪啊
我这样是可以的呢?
[code="java"]
String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\t\t\n\t\t\t\t\t\t\t\t\t\t\t";

[/code]

给帮忙想想 蛮急的问题
谢谢 先
[b]问题补充:[/b]
问题还是依旧

原因是什么??
难道就不能这样渲染成xml文件的吗?
不解中....
[b]问题补充:[/b]
字符串拼接也没问题啊
struts 配置文件也没问题
我在firefox下 action已经成功执行了
并且用response.getWrite.write()渲染页面了

我就奇怪呢 为什么

希望能知道原因 并解决啊

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • wanghaolovezlq 2009-04-21 22:50
    已采纳

    你的struts配置文件是不是写得有问题啊

    打赏 评论
  • wanghaolovezlq 2009-04-20 22:28

    <?xml version=\"1.0\" encoding=\"utf-8\"?>
    这个去掉看看

    打赏 评论
  • wanghaolovezlq 2009-04-20 22:31

    再加上response.setHeader("Content-type", "application/xhtml+xml");

    打赏 评论
  • wanghaolovezlq 2009-04-21 08:39

    你这样做一下看

    "\t";

    把这种形式改成这样
    "\n";

    就是用单引号去拼装,不要用\t,用\n

    打赏 评论
  • wanghaolovezlq 2009-04-21 20:53

    我的意思是把\"换成'而不是\'
    s = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\t";

    s += "\t";

    s += "\t";

    s += "\t";

    s += "\t";

    s += "\t";

    s += "\t";

    s += "\t";

    s += "\t";

    s += "";

    打赏 评论
  • wanghaolovezlq 2009-04-21 22:46

    是不是组装的字符串有问题啊,怎么会这样呢

    打赏 评论

相关推荐 更多相似问题