JSON

Java Web控制层发送Json对象数据(一)

字号+ 作者:H5之家 来源:H5之家 2015-10-21 13:21 我要评论( )

如何让Struts2的result跳到一个div中去?

问题:在部分要使用交互性较好的网站开发中,前台使用Jquery、Ext等框架的情况下,数据的异步传输使用的是Json比较适合异步式网络交付的一种数据格式:

注:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

1、客服端提交访问请求

在Ext中,我们使用Ext提供的特殊的Ajax来讲客服端数据(主要是表单数据)传入后台服务端的Controller,简单一个删除按钮操作的Ext框架写法如下: Ext.Ajax.request({ url : './DelServlet', //参数传入 params : {roomids:ids}, waitTitle : '请稍候', waitMsg : '系统正在提交该任务,请稍候...', success : function(response) { //返回的Json数据对象 var msg = Ext.decode(response.responseText); Ext.MessageBox.alert("提示",msg.msg); ds.reload({params : {start : 0,limit : page}}); }, failure : function() { Ext.MessageBox.alert("提示","您出错啦,请慢慢检查..."); } });


 

以上ajax处理块放在一个panel中的tbar中。

 

2、控制层接受请求并处理

上面的请求到达DelServlet所指示的控制层后,在Servlet中使用Request接受传入的参数和数据,传入的参数可能是一个数组类型对象,再使用对应的服务层组件和Dao层结合处理业务逻辑,比如删除,删除成功后我们再通知客服端将会将Json对象的数据发送,

ResponseUtils.renderJson(rp, "{\"success\":true,msg:\""+"删除成功!"+"\"}");

上面的renderJson()方法将封装好一遍达到扩展性如下:

public static void render(HttpServletResponse response,String text) { response.setContentType("application/json;charset=UTF-8"); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); try { if(StringUtils.isBlank(text)){ text=""; } response.getWriter().write(text); response.getWriter().flush(); response.getWriter().close(); } catch (IOException e) { log.error(e.getMessage()); if(!"class org.apache.catalina.connector.ClientAbortException".equals(e.getClass().toString())) e.printStackTrace(); } }


这样,成功删除的结果是返回msg=删除成功,和success=true

关于采用Ext执行较为复杂的查询数据库并且将数据列表显示出来,下一节详细记录之。



 

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

  • 未来编程的9大猜想:JavaScript不必亲自编写

    未来编程的9大猜想:JavaScript不必亲自编写

    2016-01-30 13:01

  • Objective-C与JavaScript交互的那些事

    Objective-C与JavaScript交互的那些事

    2016-01-30 13:00

  • 常见的java代码转换成json

    常见的java代码转换成json

    2016-01-27 17:01

网友点评