我现在前台用的是EXT JS接收后台ACTION传过来的数据,我后台必须输出JSON的字符串到前台去获取。
我的ACTION这样跳转路径好像就有一些问题了。
List<JSONObject> jsonlist =new ArrayList<JSONObject>();
for(Object object: userList){
JSONObject json= JSONObject.fromObject(object);
jsonlist.add(json);
}
String json=jsonlist.toString();
response.setCharacterEncoding("UTF-8");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
// StringBuffer sb = new StringBuffer();
// sb.append("<script language=\"javaScript\">\r\n");
// sb.append("location.href=\"/Shilikaifa2/userd.do?action=queryUser\";");
// sb.append("</script>\r\n");
out.print(json);
// out.println(sb.toString());
out.flush();
out.close();
我这样也不可以用return.mapping.forward去重定向一个路径,这样传值好像也存在问题。
我的前台用EXT JS接收是这样的,不知道有没有错 var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: 'queryuser.action'}),
id:'userList',
reader: new Ext.data.JsonReader({
userCode: 'userCode',
userName: 'userName'
},
});
麻烦会的高手帮忙看一下。、
我的ACTION这样跳转路径好像就有一些问题了。
List<JSONObject> jsonlist =new ArrayList<JSONObject>();
for(Object object: userList){
JSONObject json= JSONObject.fromObject(object);
jsonlist.add(json);
}
String json=jsonlist.toString();
response.setCharacterEncoding("UTF-8");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
// StringBuffer sb = new StringBuffer();
// sb.append("<script language=\"javaScript\">\r\n");
// sb.append("location.href=\"/Shilikaifa2/userd.do?action=queryUser\";");
// sb.append("</script>\r\n");
out.print(json);
// out.println(sb.toString());
out.flush();
out.close();
我这样也不可以用return.mapping.forward去重定向一个路径,这样传值好像也存在问题。
我的前台用EXT JS接收是这样的,不知道有没有错 var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: 'queryuser.action'}),
id:'userList',
reader: new Ext.data.JsonReader({
userCode: 'userCode',
userName: 'userName'
},
});
麻烦会的高手帮忙看一下。、
解决方案 »
- 给我写个类,关于正则表达式分割字符串的
- 关于CXF 读取 Soap响应和 返回Soap响应的问题
- yntax error, insert ") Statement" to complete IfStatement
- 关于Tomcat的配置问题
- jdbc综合 问题
- Servlet连接SqlServer 2005 找不到合适的驱动
- 在jsp中创建了2个iframe,想在其中一个iframe提交数据(查询),在另外一个iframe显示查询结果。应该怎样做?
- 我的应用程序中的jsp运行后出现下列错误,请高手帮帮我,谢谢先!
- javabeans的问题
- 支付宝接口即时到账问题
- 页面删掉后,但还是跳到旧页面上去,重启weblogic,重新部署都不行
- tomcat怎么自动删除临时文件,或者写程序时,怎么实现?
第一个方法负责页面跳转,跳转到指定页面A.jsp,
A.jsp里面用脚本通过Ajax请求,执行后台的另一个方法,该方法返回JSON字符串到前台的脚本方法里面就可拿到值了。
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url: 'queryuser.action'}),
id:'userList',
reader: new Ext.data.JsonReader({
userCode: 'userCode',
userName: 'userName'
},
});
这样取数据,是保存在store里面的,可以查查EXT的Store怎样使用。
//显示
public void showManagers(){
if(operation==null||operation.equals("show")||operation.equals("")){
this.pageCount = ims.getPageCount();
this.changPage();
this.managers = ims.findManagers(this.pageNow);
//构造Json数据
JSONArray array = JSONArray.fromObject(this.managers);
System.out.println(array.toString());
this.jsonString = "{\"totalCount\":"+this.managers.size()+",\"results\":"+array.toString()+"}";
try {
ServletActionContext.getResponse().getWriter().print(this.jsonString);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}前台ExtJS调用代码:
var store = new Ext.data.JsonStore({
proxy:new Ext.data.HttpProxy({
url:'ManagerAction!showManagers.action',
method:'POST'
}),
totalProperty:'totalCount',
root:'results',
fields:["id","account","password","managerLevel"]
});
把你的 json 输出来看看有没有错
其次,datastore要有一个store.load(),这样在panel引用的时候才能显示数据。
好久没用struts1了,有点不习惯了。
var store = new Ext.data.JsonStore({
proxy:new Ext.data.HttpProxy({
url:'ManagerAction!showManagers.action',
method:'POST'
}),
totalProperty:'totalCount',
root:'results',
fields:["id","account","password","managerLevel"]
});url:'ManagerAction!showManagers.action'这里怎么还可以写感叹号呢??
晕死,struts2 的动态调用(DMI) 。
感觉和 ajax 差不多啊,,这个应该可以啊