Ext2.2与Struts2集成,使用Json数据格式传输数据问题
来源:互联网 发布:淘宝卖一分钱壁纸违规 编辑:程序博客网 时间:2024/04/29 20:50
Struts2与Ext集成生成Tree关键问题
1.Struts2 使用jsonplugin插件进行格式化java对象,其返回的数据格式为
{"xxx":"[{json}]"},其中xxx为需要返回数据的名称,json为返回json的具体内容,Ext树要求的json格
式为[{json}].
2.Struts2 返回json时其他包含双引号,导致数据返回时会自动加上转义符"/"。
以上三个问题解决办法
1:最简单办法是重写treeloader中的processResponse对服务器返回数据进行格式化,取得其中json数据,
关键代码:
loader:new Tree.TreeLoader({
dataUrl:'TreeAjax.action',
processResponse:function(response,node,callback){
var data = response.responseText;
var temp=Ext.decode(data);
var json=temp["xxx"];
try {
var o = eval("("+json+")");
node.beginUpdate();
for(var i = 0, len = o.length; i < len; i++){
var n = this.createNode(o[i]);
if(n){
node.appendChild(n);
}}
node.endUpdate();
if(typeof callback == "function"){
callback(this, node);
}
}catch(e){
this.handleFailure(response);
}
}
}),
其中xxx为服务器返回json的名称。与问题1对应。
2.问题2简单解决办法是在action或拦截器中对返回数据进行处理,处理办法很简单,既将数据中的“ " ”用
“ ' ”(双引号 用单引号代替),数据传回客服端不回自动加上转义符。
关键代码:
mString.append(JSONUtil.serialize(menu));
for(int i=0;i<mString.length();i++){
if(mString.charAt(i)=='/"'){
mString.setCharAt(i, '/'');
}
}
该实例页面为example下的tree/reorder.html
1.Struts2 使用jsonplugin插件进行格式化java对象,其返回的数据格式为
{"xxx":"[{json}]"},其中xxx为需要返回数据的名称,json为返回json的具体内容,Ext树要求的json格
式为[{json}].
2.Struts2 返回json时其他包含双引号,导致数据返回时会自动加上转义符"/"。
以上三个问题解决办法
1:最简单办法是重写treeloader中的processResponse对服务器返回数据进行格式化,取得其中json数据,
关键代码:
loader:new Tree.TreeLoader({
dataUrl:'TreeAjax.action',
processResponse:function(response,node,callback){
var data = response.responseText;
var temp=Ext.decode(data);
var json=temp["xxx"];
try {
var o = eval("("+json+")");
node.beginUpdate();
for(var i = 0, len = o.length; i < len; i++){
var n = this.createNode(o[i]);
if(n){
node.appendChild(n);
}}
node.endUpdate();
if(typeof callback == "function"){
callback(this, node);
}
}catch(e){
this.handleFailure(response);
}
}
}),
其中xxx为服务器返回json的名称。与问题1对应。
2.问题2简单解决办法是在action或拦截器中对返回数据进行处理,处理办法很简单,既将数据中的“ " ”用
“ ' ”(双引号 用单引号代替),数据传回客服端不回自动加上转义符。
关键代码:
mString.append(JSONUtil.serialize(menu));
for(int i=0;i<mString.length();i++){
if(mString.charAt(i)=='/"'){
mString.setCharAt(i, '/'');
}
}
该实例页面为example下的tree/reorder.html
- Ext2.2与Struts2集成,使用Json数据格式传输数据问题
- struts2 json 与前台传输数据
- struts2 json 传输数据
- Json 数据格式与使用
- ext2.2 formPanel 加载数据 json数据嵌套的问题
- 网络传输文本数据格式JSON
- Extjs与json数据格式的混合使用
- 使用Ajax发送Struts2请求返回JSON数据格式
- 浅谈struts2、jquery与json的集成
- Extjs4.2与SSH框架传输json数据小例
- Struts2 与 ireport 集成问题
- JSON数据格式删除问题
- json 数据格式与 lua
- 数据类型与json数据格式
- Ext2.2使用Iframe显示网页无法打开的问题或者不显示数据问题
- struts2 使用json与extjs进行数据交互
- Struts2与ExtJs Grid结合使用json格式数据
- struts2 使用json与extjs进行数据交互
- 深天健高管:为什么你就那么贱(非健康的健)?!
- c++流缓冲学习---rdbuf()
- 多例模式与应用程序国际化
- 随思
- 数据库还原出错
- Ext2.2与Struts2集成,使用Json数据格式传输数据问题
- J2ME GUI实战之六 ----------LWUIT的Label、CheckBox、RadioButton
- 男人懒惰的N个好处
- AlphaComposite的使用
- 常用正则表达式集合
- 添加右键打开cygwin窗口
- VC其它- VC常用小技巧
- 珍惜缘分
- 设计模式笔记--行为型模式之六--Memento 备忘录