java-extjs 树的问题,加载不出来,后台是用Java到数据读取的数据转换成json格式

问题描述

extjs 树的问题,加载不出来,后台是用Java到数据读取的数据转换成json格式

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="common/common.jsp"%>

<%
pagemenustr += "addBtn(tb,'" + I18n.getText("erase") + "','C','erase',function(){onClear()});";
pagemenustr += "addBtn(tb,'" + I18n.getText("return") + "','R','arrow_redo',function(){onReturn()});";
pagemenustr += "addBtn(tb,'" + I18n.getText("ok") + "','R','accept',function(){onSubmit()});";

%>

<%@include file="common/head.jsp"%>
<br>
var ids='';<br>
var names='';<br>
Ext.override(Ext.tree.TreeLoader, {<br>
createNode : function(attr) {<br>
// apply baseAttrs, nice idea Corey!<br>
if (this.baseAttrs) {<br>
Ext.applyIf(attr, this.baseAttrs);<br>
}<br>
if (this.applyLoader !== alse) {<br>
attr.loader = this;<br>
}<br>
if (typeof attr.uiProvider == 'string') {<br>
attr.uiProvider = this.uiProviders[attr.uiProvider] || eval(attr.uiProvider);<br>
}</p>

<pre><code> var n = (attr.leaf ?
new Ext.tree.AsyncTreeNode(attr) :
new Ext.tree.AsyncTreeNode(attr));

if (attr.expanded) {
n.expanded = true;
}

return n;
}
});

Ext.onReady(function () {

&lt;%if(!pagemenustr.equals(&quot;&quot;)){%&gt;
var tb = new Ext.Toolbar();
tb.render('pagemenubar');
&lt;%=pagemenustr%&gt;
&lt;%}%&gt;

var orgTree = new Ext.tree.TreePanel({
animate:true,
useArrows :true,
containerScroll: true,
autoScroll:true,
region:'center',
checkModel: 'cascade',
onlyLeafCheckable: false,//对树所有结点都可选
collapsible: true,
collapsed : false,
rootVisible:false,
root:new Ext.tree.AsyncTreeNode({
text: 'text',
id:'root',
expanded:true,
allowDrag:false,
allowDrop:false
}),
loader:new Ext.tree.TreeLoader({

dataUrl: &quot;${ctx}/ext/com.cinsea.ext.browser.TreeDirectoryAction&quot;,
baseAttrs: { uiProvider: Ext.ux.TreeCheckNodeUI },
preloadChildren:false,
listeners:{&quot;beforeload&quot;:function(treeLoader, node) {
treeLoader.baseParams.dimension = '1';
}}
}
),
listeners:{
'expand':function(p){ p.getRootNode().expand();
}
}

});

orgTree.on(&quot;check&quot;,function(node,checked){
if(checked){
if(ids!=''){
ids+=','+node.id;
names+=','+node.text;
}else{
ids+=node.id;
names+=node.text;
}
}else{
if(ids.indexOf(&quot;,&quot;)==-1){
ids=ids.replace(node.id,'');
names=names.replace(node.text,'');
}else{
ids=ids.replace(&quot;,&quot;+node.id,'');
names=names.replace(&quot;,&quot;+node.text,'');
}

}
});

//Viewport
var viewport = new Ext.Viewport({
layout: 'border',
items: [
{region: 'north', autoScroll: false, split: false, contentEl: 'divSearch'},
orgTree
]
});
})
&lt;/script&gt;
</code></pre>

<p></head><br>
<body></p>

<div id="divSearch">
<div id="pagemenubar"></div>
</div>

<script>
function onSubmit(){
alert(ids);
alert(names)
getArray(ids,names);

}
function onClear(){
getArray( "0","");
}

function onReturn(){
var dg=window.parent?window.parent.xdialog:null;
if (dg) {
dg.hide();
}
window.close();
}

解决方案

直接用浏览器访问你的那个url地址看返回的数据结构对不对,不对就是你java配置问题,返回的数据不正确

解决方案二:

看返回的字段是否和tree需要的字段对应上了

解决方案三:

先通过URL获得返回的json字符串看格式是否正确,如果正确,该是json解析的问题了,看看extjs相关库和路径是否正确

时间: 2024-12-27 23:23:24

java-extjs 树的问题,加载不出来,后台是用Java到数据读取的数据转换成json格式的相关文章

sqlserver 存储过程-sql server 存储过程 树节点 每次加载一个节点

问题描述 sql server 存储过程 树节点 每次加载一个节点 有一张数据表A,表字段:treeid,treeparentid,treename三个字段,现在要用存储过程建一个树目录结构的菜单,初始化时,只加载根节点和所有的一级子节点,一级子节点下面的子节点初始化时不加载,初始化完成之后,我们点击一级子节点菜单,它才会加载选中的节点菜单下面的子节点,每次加载一级节点,无限次加载.非常急,在线等,本人第一次在CSDN上提问,不知道要不要分,好像有几十分,都给,写存储过程的时候,请把存储过程的几

extjs-关于Extjs中使用loadRecord加载选择行至form表单中

问题描述 关于Extjs中使用loadRecord加载选择行至form表单中 handler:function(btn){ var win = new Ext.create(""Ext.window.Window"" { title: ""用户详细信息"" modal:true width: 600 height: 400 items: { xtype: ""form"" margin:

java运行提示:无法加载主类,觉得程序没错,求指导!!!

问题描述 java运行提示:无法加载主类,觉得程序没错,求指导!!! package 基本语句; public interface 接口 { int a=1; int b=2; int c=3; int d=4; int f=5; void print(); void print1();}class jiekou implements 接口{ public void print() { System.out.println(a+b); } public void print1() { Syste

java连接数据库,驱动也加载了,还是出错

问题描述 java连接数据库,驱动也加载了,还是出错 我用的是sqlserver2008 解决方案 private String url="jdbc:sqlserver://localhost:1433;DatabaseName=Memorandum"; private String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; 看下这两句话对么 解决方案二: 看你的错误信息是插件而不是mysql连接数

java虚拟机如何查找已加载的类?java虚拟机在代码中为指定类加载器时如何选择类加载器?

问题描述 java虚拟机如何查找已加载的类?java虚拟机在代码中为指定类加载器时如何选择类加载器? tomcat不同webapp相互隔离是怎么做到的? 通过不同webapp使用不同的类加载器加载做到的? 怎么指定某个webapp使用哪个类加载器?不是每个类都用classLoader.loadClass()吧.

java selenium智能等待页面加载完成示例代码_实用技巧

java selenium  智能等待页面加载完成 我们经常会碰到用selenium操作页面上某个元素的时候, 需要等待页面加载完成后, 才能操作.  否则页面上的元素不存在,会抛出异常.  或者碰到AJAX异步加载,我们需要等待元素加载完成后, 才能操作 selenium 中提供了非常简单,智能的方法,来判断元素是否存在.  阅读目录 实例要求 隐式等待 显式等待 实例要求 实例:set_timeout.html 下面的html 代码,  点击click 按钮5秒后, 页面上会出现一个红色的d

Class类的加载以及类的产生原理java学习 第十天

/*当类产生一个实例的时候会加载类的Clsaa对象  JVM根据类名加载class字节码文件 文件 java中所有类都是从object产生的 为什么这么说呢  ?   比如说我们自己定义的类  的 Class对象会自动调用 newInstance函数来返回object类对象  然后 转换成我们的类  当然我们也可以利用这点来获取 一个 我们定义的类的对象 然后进行操作  类的静态代码段是在类加载的时候才会执行 也就是 new Class() */class  Test{ public  stat

Extjs入门之动态加载树代码_extjs

Extjs动态加载树,首先在数据库里面设计存放树信息的表 复制代码 代码如下: USE [KimiExtjs] GO /****** 对象: Table [dbo].[Trees] 脚本日期: 04/08/2010 22:12:25 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Trees]( [Tid] [varchar](40) COLLA

求一java语言写的动态加载树!(从数据库读取节点的那种)

问题描述 最近想研究研究java动态树,extjs的倒是看过,不会改,因为对于extjs不熟.想自己封装一个,运用ssh框架,sqlserver2005数据库,jQuery等.哪位能指点一下,给点意见. 解决方案 解决方案二:思路:递归算法~~~还算简单解决方案三:所答非所问,继续求详细指点.解决方案四:这个对于展示的话就是用递归而在数据库设计的时候,则在每条记录存一个他上级的id,页面的话,再加点样式.可能就是页面比较麻烦.后台没有什么东西.用js+css写也行,就是很麻烦.解决方案五:简单的