SSH2怎么把从数据库里面得到的数据 传给ExtJs4啊?
我的UsersDAO里面的userList方法publicListuserList(){System.out.println("UsersDAO.userList()开始...
我的UsersDAO里面的 userList方法
public List userList() {
System.out.println("UsersDAO.userList()开始执行");
List l = getHibernateTemplate().find("from Users");
System.out.println("l.size = "+l.size());
return l;
}
我的Action里面的 List方法
public String list() throws Exception {
System.out.println("this.list()开始执行");
List tempUserList = this.dao.userList();
System.out.println("dao.userList()方法已执行");
this.userlist = tempUserList;
return SUCCESS;
}
我的Struts.xml
<struts>
<package name="users" extends="json-default">
<!-- List -->
<action name="userlist" class="usersmanagementAction" method="list">
<result name="success" type="json">
</result>
</action>
</package>
</struts>
前台grid里面的store
Ext.regModel('UserList', {
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'password', type: 'string'},
{name: 'firstname', type: 'string'},
{name: 'lastname', type: 'string'},
{name: 'fullname', type: 'string'},
{name: 'group_id', type: 'int'},
{name: 'status', type: 'int'},
{name: 'regdate', type: 'String'},
]
});
var user_store = new Ext.data.Store({
model: 'UserList',
proxy: {
type: 'ajax',
url : 'userlist.action',
reader:{
type:'json',
root:'userlist'
}
},
autoLoad: true
});
我可以用action通过dao取得数据库里面的数据,现在的问题是:
如何把取得的userlist传给前台Extjs的grid
我的运行结果是(包含firebug的调试信息): 展开
public List userList() {
System.out.println("UsersDAO.userList()开始执行");
List l = getHibernateTemplate().find("from Users");
System.out.println("l.size = "+l.size());
return l;
}
我的Action里面的 List方法
public String list() throws Exception {
System.out.println("this.list()开始执行");
List tempUserList = this.dao.userList();
System.out.println("dao.userList()方法已执行");
this.userlist = tempUserList;
return SUCCESS;
}
我的Struts.xml
<struts>
<package name="users" extends="json-default">
<!-- List -->
<action name="userlist" class="usersmanagementAction" method="list">
<result name="success" type="json">
</result>
</action>
</package>
</struts>
前台grid里面的store
Ext.regModel('UserList', {
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'password', type: 'string'},
{name: 'firstname', type: 'string'},
{name: 'lastname', type: 'string'},
{name: 'fullname', type: 'string'},
{name: 'group_id', type: 'int'},
{name: 'status', type: 'int'},
{name: 'regdate', type: 'String'},
]
});
var user_store = new Ext.data.Store({
model: 'UserList',
proxy: {
type: 'ajax',
url : 'userlist.action',
reader:{
type:'json',
root:'userlist'
}
},
autoLoad: true
});
我可以用action通过dao取得数据库里面的数据,现在的问题是:
如何把取得的userlist传给前台Extjs的grid
我的运行结果是(包含firebug的调试信息): 展开
1个回答
展开全部
ExjJs做列表显示啊,我之前的项目中就用到了,有什么问题吧,你可以问我
一般的Exj取列表数据室不需要刷新列表的,当然也不用走sturts.xml的返回流程,咐简
通过调用ajax可以加载store,如user_store.load();
所以以下函数键搏可改为:
public void list() throws Exception {
System.out.println("this.list()开始执行");
List tempUserList = this.dao.userList();
System.out.println("dao.userList()方法已执行");
this.userlist = tempUserList;
String jsonInfor = JSONArray.fromObject(userlist ).toString();
jsonInfor =“{userlist:”+jsonInfor +"}";
PrintWriter out= response.getWriter();
out.print(jsonInfor);
}
这个改下,把userlist 转化成json的格式的字符串,
然后通过流out.print(jsonInfor );输出到稿简祥前台显示
以下store也要修改
var user_store = new Ext.data.Store({
model: 'UserList',
proxy: {
type: 'ajax',
url : 'userlist.action!list',
reader:{
type:'json',
root:'userlist'
}
},
autoLoad: true
});
一般的Exj取列表数据室不需要刷新列表的,当然也不用走sturts.xml的返回流程,咐简
通过调用ajax可以加载store,如user_store.load();
所以以下函数键搏可改为:
public void list() throws Exception {
System.out.println("this.list()开始执行");
List tempUserList = this.dao.userList();
System.out.println("dao.userList()方法已执行");
this.userlist = tempUserList;
String jsonInfor = JSONArray.fromObject(userlist ).toString();
jsonInfor =“{userlist:”+jsonInfor +"}";
PrintWriter out= response.getWriter();
out.print(jsonInfor);
}
这个改下,把userlist 转化成json的格式的字符串,
然后通过流out.print(jsonInfor );输出到稿简祥前台显示
以下store也要修改
var user_store = new Ext.data.Store({
model: 'UserList',
proxy: {
type: 'ajax',
url : 'userlist.action!list',
reader:{
type:'json',
root:'userlist'
}
},
autoLoad: true
});
更多追问追答
追问
我今天刚看到你的答案,你说的不够具体,而且我需要走sturts.xml的返回流程的。说得具体一点。
追答
this.userlist在action中要声明get和set方法,不知道你有没有弄,看你的截图很明显你的list是空的,我这里有个列子,已经可以进行列表显示,如果你还没有好的话,留个邮箱,我发给你,你看看吧
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询