
可以的,需要注意的地方是直接访问json文件是不行的,要将json文件改成js后缀。因为要引入到头文件中,
json文件改成js文件完全没有副作用,注意json文件本身的格式就是了。
下面是代码:
<!DOCTYPE html>
<html xmlns=">
将菜单加到一个toolbar上
设置菜单的事件
//下面是简单的摘子目前用的的一个例子/
顶部菜单
/
Extdefine('XRSpagebarTop', {
extend: 'ExttoolbarToolbar',
dock: "top",
border: "1 0 2 0",
initComponent: function () {
var me = this;
//这里是对菜单进行解析 , 因为我从后台返回来的是 列表 , 而不是一个树 , 所以需要解析成 菜单的格式
//参数$AdmingetMainMenu() 这个是从后台饭回来的数据的一个简单包装 , 在下面我一个样本
var mainMenu = thisparseMenu($AdmingetMainMenu());
meitems = mainMenu;
thiscallParent();
} ,
//解析成菜单格式的数据
parseMenu: function (menus) {
var me = this;
if (!(menus && menuslength > 0)) return false;
//根据parentid生成树
var map = {};
var rs = [];
Exteach(menus, function (n) {
nid = "mainmenu_" + nid;
ntext = nname;
//这里是设置点击事件的 , 通过bind , 不需要设置scope
nhandler = Extbind(meonClick, me);
//下面的只是生成一个菜单的数据格式
map[nid] = n;
//如果找到父节点
if (map["mainmenu_" + nparentid]) {
var pn = map["mainmenu_" + nparentid];
if (!pnmenu) {
pnhideOnClick = false;
pnmenu = {
items: []
};
}
if (nisSeparator == "1") nxtype = "menuseparator";
pnmenuitemspush(n);
} else {
if (nisSeparator == "1") nxtype = "tbseparator";
rspush(n);
}
}, this);
return rs;
},
//这是一个点击事件
onClick: function (menu, e) {
if (!menu) return;
//可以任意设置事件
alert(menutext);
//thisfireEvent('moduleclick', menu, 'menu');
}
});
//下面是个返回的菜单数据样本 , 是个列表
"mainMenu": [
{
"$id": "14",
"id": 53,
"name": "基础信息",
"code": "",
"menutype": null,
"module": "",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_baseinfo",
"parentid": 1,
"path": "1,53",
"ix": 24,
"privilege": "6",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "35",
"id": 54,
"name": "系统代码管理",
"code": "",
"menutype": null,
"module": "XRSbaseinfocodeList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_code",
"parentid": 53,
"path": "1,53,54",
"ix": 1,
"privilege": "7",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "36",
"id": 55,
"name": null,
"code": null,
"menutype": null,
"module": null,
"moduleConfig": null,
"method": null,
"isWindow": null,
"url": null,
"iconCls": null,
"parentid": 53,
"path": "1,53,55",
"ix": 2,
"privilege": "7",
"isSeparator": 1,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "37",
"id": 57,
"name": "部门机构",
"code": "",
"menutype": null,
"module": "XRSbaseinfoorganizationList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_org",
"parentid": 53,
"path": "1,53,57",
"ix": 3,
"privilege": "8",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "38",
"id": 58,
"name": "用户",
"code": "",
"menutype": null,
"module": "XRSbaseinfouserList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_user",
"parentid": 53,
"path": "1,53,58",
"ix": 4,
"privilege": "9",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
},
{
"$id": "39",
"id": 59,
"name": "角色",
"code": "",
"menutype": null,
"module": "XRSbaseinforoleList",
"moduleConfig": " ",
"method": " ",
"isWindow": null,
"url": null,
"iconCls": "ico_role",
"parentid": 53,
"path": "1,53,59",
"ix": 5,
"privilege": "10",
"isSeparator": 0,
"xtype": null,
"disabled": null,
"noprivilege": 0
}]
你根本就没熟悉SSH+extjs的流程,我跟你说下流程,喝了酒,可能说的不太清:
1、首先提交时可以同时提交的,使用
formsubmit({
params:{‘gridData’ : xxx}
});
其中formsubmit函数本身就会把form提交上去,然后param配置项里的xxx就应该是你想要传的grid
当然 有前提条件,首先在form中每个textfield组件定义name为“对象名属性名”的方式,如你提交的是用户信息,那么对象名可能是person,name值就是“personage”,代表用户年龄。后台也要有成员变量person,这样struts就能接受person对象,直接可以拿到其中的年龄。
其次,你所谓的传递grid,其实是传递store中得数据,方法是可以先将store的数据拿出来,然后转成json传,将json串赋值给xxx就可以了,后台用requestgetParameter("gridData");可以得到json串,再将其转化成对象,就可以得到对象的属性,也就是每条数据的信息了。你也可以在前台不转,直接传到后台,后台用数组接收,不过拿到每个属性不太好拿。
这样其实从前台拿到的是一个对象--------form传递过来的,还有一个应该是一个List集合,里面是grid的每一条数据,如果你想事务控制,我告诉真的就是写在一个service方法,因为你在action中调用的service方法的参数应该有form传过来的对象和那个List,在service当然就可以一起处理这些东西了,不明白就别说别人说的不对,你以为你就是对的啊。那是你没理解!
好吧,总结一下,前台传一个form对应的对象,再传一个grid的List,后台一个action同时接受这两个参数,然后调用service方法,此方法至少有两个参数,一个是form对应的对象,一个是grid对象的List,在service处理这两个参数,spring自动就会实现事务处理!
ExtJS 博大精深,不会就态度好点请教别人,别搞得自己像是不耻下问似,不一定有人理解,我也就是喝点酒,不然懂的人看你那几句白痴话就不愿意回答你。。。
以上就是关于extjs搜索json数据全部的内容,包括:extjs搜索json数据、Extjs中如何使用数据库中的数据,创建动态菜单、extjs 同时提交grid和form的数据到数据库中!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)