热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EXTJS与java后台交互(二)JSON使用

上篇文章介绍了通过使用dwr在EXTJS代码里直接调用后台的Java方法.这篇文章介绍在没有调用Java方法,没有返回值的情况下获取Java的返回信息.就要用到的Extjs的sub

上篇文章介绍了通过使用dwr在EXTJS代码里直接调用后台的Java方法.这篇文章介绍在没有调用Java方法,没有返回值的情况下获取Java的返回信息.就要用到的Extjs的submit配置项---success和failure来进行配置.
        Ext.form.Action.Submit的配置选项success、failure是根据返回json中success属性判断的,如果success为true,则success,false则failure,如果无json中无success属性,failure,故要提示操作是否成功,必须要返回success属性。
       
        这种方法用的也很多,在js界面除了调用Java方法来完成各种验证和取值外,还会执行表单的提交.提交了表单,并没有调用后台方法,通过这种方法便可以知道执行结果,来显示执行信息.


EXTJS页面部分代码:

[Javascript] view plaincopy
  1. //提交按钮  
  2. var submitButton = new Ext.Button(  
  3.                          {  
  4.                              text: '提交',  
  5.                              iconCls: 'c_page_white_get',  
  6.                              scope: this,  
  7.                              width: 75,  
  8.                              height: 24,  
  9.                              handler: function() {  
  10.                              //执行提交方法  
  11.                              this.submitData ( );  
  12.                           }  
  13. });  
  14.   
  15.   
  16. //提交时执行的方法  
  17. submitData : function( ) {  
  18.                       //提交form表单   
  19.                       this.uploadForm.getForm().submit({  
  20.                            waitMsg: '正在提交请稍后...',   
  21.                            //将表单信息提交到Servlet   
  22.                            url: ctx + '/testServlet, method: 'POST',  
  23.   
  24.                            //重点:success块   
  25.                            success: function(form, action) {  
  26.                                //showmessage是从后台传过来  
  27.                                Ext.MessageBox.alert('提示', action.result.showmessage);   
  28.                            },   
  29.                            //failure块   
  30.                            failure: function(form, action) {   
  31.                                Ext.Msg.alert('提示', action.result.msg, function() {   
  32.                                   window.close();   
  33.                                });   
  34.                            },   
  35.                            scope: this });   
  36. }   


Servlet代码:

[java] view plaincopy
  1. public class testServlet extends  HttpServlet {  
  2.     
  3.          publicvoid doPost(HttpServletRequest request, HttpServletResponse response)  
  4.                             throwsServletException, IOException {  
  5.                    try{  
  6.                             //调用action等后台方法  
  7.                             //有个返回值,返回给界面的内容  
  8.                             String showMessage = new TestAction().test();  
  9.                             //设置response格式  
  10.                             response.setCharacterEncoding("UTF-8");  
  11.                             response.setContentType("text/html");  
  12.                             response.getWriter().write(  
  13.                                  "{'success':true,'showmessage':'"+ showMessage +"'}");  
  14.    
  15.                    }catch (Exception e) {  
  16.                             //失败时返回的信息  
  17.                             response.setCharacterEncoding("UTF-8");  
  18.                             response.setContentType("text/html");  
  19.                             response.getWriter().write(  
  20.                                                "{'success':false,'showmessage':'出现异常,操作失败'}");  
  21.                             response.setStatus(500);  
  22.                    }  
  23.    
  24.          }  
  25.    
  26.          publicvoid doGet(HttpServletRequest request, HttpServletResponse response)  
  27.                             throwsServletException, IOException {  
  28.                    doPost(request,response);  
  29.          }  
  30. }  





           通过例子可以看出,success和failure方法使用的是json字符串的方式将返回值以字符串的格式通过response携带回js界面.

          Ext的配置选项success、failure是根据response的status属性,即状态码决定的,200则为success,404或500等则为failure。

          EXTJS与Java后台的交互是很方便的,这里介绍的两种方法各自用在不同的场合下,根据需要来进行选择.


推荐阅读
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路
    本文介绍了FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路。当图表系列较多时,用户希望可以自己设置哪些系列显示,哪些系列不显示。通过调用FR.Chart.WebUtils.getChart("chartID").getChartWithIndex(chartIndex).setSeriesVisible()接口,可以获取需要显示的系列图表对象,并在表单中显示这些系列。本文以决策报表为例,详细介绍了实现方法,并给出了示例。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
author-avatar
fuckyourgirlfriend
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有