struts1 怎么返回Json-CSDN论坛

struts1 怎么返回Json-CSDN论坛,第1张

net.sf.json.JSONObject jsonObj = new net.sf.json.JSONObject()

net.sf.json.JSONObject json = new net.sf.json.JSONObject()

json.put("shjg","1")

json.put("zg","2")

json.put("zgb","3")

jsonObj.put("mydata", json)

response.getWriter().write(jsonObj.toString())

response.getWriter().flush()

response.getWriter().close()

return null

第一个问题,ajax提交时不会自动提交表单,必须自己处理。你可以在网上找ajax提交表单的方法,或者手动把要传递的参数拼到url中。

第二个问题,在action中用response..getWriter().write(json),就可以直接把json传到客户端了。

JSON可以理解为JavaScript的对象序列化的字符串, 你看下JSON的内容, 会发现和代码中写的对象字面量基本一样, 所以使用eval方法即可将JSON转换为对象.

Ext仅仅是简单的封装eval方法, 以适应不同标准的JSON

源代码:

Ext.util.JSON.decode = function(json){

return eval('(' + json + ')')

}

你可以自己alert出来看

//示例

Ext.onReady(function() {

Ext.Ajax.request({

url: 'getmsg.action?user=1',

method: 'GET',

success: function(resp, options) {

//标准JSON字符串 '{"data": [{"msg":"abcd"}]}'

var jsonObj = Ext.util.JSON.decode(resp.responseText)

//显示模态提示框

Ext.Msg.alert('title', jsonObj.data[0].msg, function(btn){

//Ext的模态窗口仅仅是屏蔽 *** 作, 并不阻塞线程, js也没有线程, 这点非常重要

//提示框的按钮事件回调

alert(btn)//后执行

})

alert(1)//先执行

}

//failure: function() {...} //可选的

})

})

Ext的ApiDoc做得非常好, 对学习有很大的帮助. 千万不要看一些所谓的中文版, 有很多机器翻译不说, 还有很多未校对的错误.

另: 学习ExtJS要掌握闭包的概念, 这个是js一个非常重要的特性, Ext使用该特性模拟了继承及封装, 在一定程度上实现了面向对象编程. 当然你也可以无视Ext的继承机制, 使用js本身的原型继承(prototype)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6707079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存