js:
Ext.onReady(function() { var tree = new Ext.tree.TreePanel({
el:"container",
animate : true,
title : "简单Extjs动态树",
collapsible : true,
enableDD : true,
enableDrag : true,
rootVisible : true,
autoScroll : true,
autoHeight : true,
width : 150,
lines : true,
loader : new Ext.tree.TreeLoader({
dataUrl:'/manage/user.do?method=configCatalogAndReport'
})
});

tree.on('click',function(node){       
              alert("123");    
              tree.loader.dataUrl = '/manage/user.do?method=configCatalogAndReport';    
    }); var root = new Ext.tree.AsyncTreeNode({
text : '目录树',
expanded : true,
id : 'source'
}); tree.setRootNode(root);
tree.render();
});action:
public ActionForward configForCatalogAndReport(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
StringBuffer strb = new StringBuffer("");
strb.append("[");
strb.append("{id:'01',text:'01',children:[ {id:'01-01',text:'01-01',leaf:true},{id:'01-02',text:'01-02',children:[{id:'01-02-01',text:'01-02-01',leaf:true},{id:'01-02-02',text:'01-02-02',leaf:true}]},{id:'01-03',text:'01-03',leaf:true}]},{id:'02',text:'02',leaf:true}");
strb.append("]");

System.out.println(strb.toString());
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(strb.toString());
return null;
}页面上只看到根目录
点击根目录能弹出alert("123")的对话框,也不加载数据。
在后台加了断点,发现dataUrl好像根本就没起作用,没进入我的方法里边。
如果url错了 至少也应该报个错吧 不应该啥都没有

解决方案 »

  1.   

    好吧来自问自答了~
    探究了好久 问题出在dataUrl:'/manage/user.do?method=configCatalogAndReport'
    不知道为什么 不能以/开头~ 改成dataUrl:'manage/user.do?method=configCatalogAndReport'就可以了~ 
    要是以/开头 url会被当成是空的~ 
    嗯 差不多就是这样~
      

  2.   

    这个错误可以在user.do打断点,没进入自然是url问题了。
      

  3.   


    你用firebug看下或httpfox抓包看下路径的问题, /manage这样的应该是直接是http://aa.com/manage,  不加/就是相对于js的路径了
      

  4.   


    我测试了一下 dataUrl:'/XXX' XXX用什么路劲都不可以 直接被当成空
    dataUrl:'XXX' 的话  就可以~