java怎么用extjs在jsp中显示数据库数据????
比如用数据库查询出来的结果保存在list中,怎么在extjs中循环输出?说详细点,最好说明参数的意思。谢谢了!看好问题,我现在已经获取了数据库数据保存在list中,重点是...
比如用数据库查询出来的结果保存在list中,怎么在extjs中循环输出?说详细点,最好说明参数的意思。谢谢了!看好问题,我现在已经获取了数据库数据保存在list中,重点是怎么用extjs中显示!!!!
展开
3个回答
展开全部
//后台 要用json-lib把list转成json格式
List<User> list = userService.getUser(page, property, propertyValue);
JSONObject datas = new JSONObject();
datas.put("data", list);
response.getWriter().print(datas.toString());
//前台
/**Model*/ 与你返回json对象属性对应
Ext.define('userModel',{
extend: 'Ext.data.Model',
fields: [
{name: 'id',type: 'int'},
{name: 'name', type: 'String'},
{name: 'password', type: 'String'}
]
});
/**Store*/ 获取数据
var userStore = Ext.create('Ext.data.Store',{
model: 'userModel',
proxy: new Ext.data.HttpProxy({
method: 'get',
url: 'getUser.do',
reader:{
type: 'json',
root: 'data',//获取数据的根 与后台 datas.put("data", list); 对应
idProperty: 'id',
totalProperty: 'total'
}
}),
pageSize: pageSize
});
/**Grid*/ 表格显示数据
var UserPanel = Ext.create('Ext.grid.Panel',{
id: 'userGrid',
width: Ext.getBody().getViewSize().width,
height: Ext.getBody().getViewSize().height,
store: userStore, 数据源
columnLines: true,
columns: [
{header: "用户id", flex: 1, dataIndex: 'id'},//与model中的属性对应
{header: "用户名称", flex: 1, dataIndex: 'name'},
{header: "用户密码", flex: 1, dataIndex: 'password'}
]
});
List<User> list = userService.getUser(page, property, propertyValue);
JSONObject datas = new JSONObject();
datas.put("data", list);
response.getWriter().print(datas.toString());
//前台
/**Model*/ 与你返回json对象属性对应
Ext.define('userModel',{
extend: 'Ext.data.Model',
fields: [
{name: 'id',type: 'int'},
{name: 'name', type: 'String'},
{name: 'password', type: 'String'}
]
});
/**Store*/ 获取数据
var userStore = Ext.create('Ext.data.Store',{
model: 'userModel',
proxy: new Ext.data.HttpProxy({
method: 'get',
url: 'getUser.do',
reader:{
type: 'json',
root: 'data',//获取数据的根 与后台 datas.put("data", list); 对应
idProperty: 'id',
totalProperty: 'total'
}
}),
pageSize: pageSize
});
/**Grid*/ 表格显示数据
var UserPanel = Ext.create('Ext.grid.Panel',{
id: 'userGrid',
width: Ext.getBody().getViewSize().width,
height: Ext.getBody().getViewSize().height,
store: userStore, 数据源
columnLines: true,
columns: [
{header: "用户id", flex: 1, dataIndex: 'id'},//与model中的属性对应
{header: "用户名称", flex: 1, dataIndex: 'name'},
{header: "用户密码", flex: 1, dataIndex: 'password'}
]
});
更多追问追答
追答
你这是后台输出的, 前台js中绑定在上边的model上就ok了,别忘了把model中的'password'改成pwd,
column也要改
展开全部
这样跟你说吧,比如extjs的grid,grid专门有一个请求数据的dataSorce
请求,后台返回json,那么grid设置好字段跟实体类字段对应能够自动
解析后台传回的json。
给你个附件参考。
追问
你写的太复杂了,我刚接触extjs能发给我个简单的吗,越简单越好!!
追答
这已经是最简单的了,前面的一些都是表单数据,就想汽车
的轮子,方向盘等,在grid里面组装在一起的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一个简单的
1、你要把从数据库中获取的数据转化成 json 类型的数据
2、然后在前台的Extjs中写一个store,把这个 json给它就行
3、把这个store和GirdPanel绑定就OK了,就这么简单,
如果你还不能明白的话,你可以给我留言,我给你一下源码,你肯定看一下就明白了。
简单的要命!试试吧
1、你要把从数据库中获取的数据转化成 json 类型的数据
2、然后在前台的Extjs中写一个store,把这个 json给它就行
3、把这个store和GirdPanel绑定就OK了,就这么简单,
如果你还不能明白的话,你可以给我留言,我给你一下源码,你肯定看一下就明白了。
简单的要命!试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询