extjs java 转json数组_EXTJS与java后台交互 JSON使用

EXTJS与java后台交互 JSON使用。

上篇文章介绍了通过使用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页面部分代码:

//提交按钮

var submitButton = new Ext.Button(

{

text: ’提交’,

iconCls: ’c_page_white_get’,

scope: this,

width: 75,

height: 24,

handler: function() {

//执行提交方法

this.submitData ( );

}

});

//提交时执行的方法

submitData : function( ) {

//提交form表单

this.uploadForm.getForm().submit({

waitMsg: ’正在提交请稍后…’,

//将表单信息提交到Servlet

url: ctx + ’/testServlet, method: ’POST’,

//重点:success块

success: function(form, action) {

//showmessage是从后台传过来

Ext.MessageBox.alert(‘提示’, action.result.showmessage);

},

//failure块

failure: function(form, action) {

Ext.Msg.alert(‘提示’, action.result.msg, function() {

window.close();

});

},

scope: this });

}

Servlet代码:

public class testServlet extends  HttpServlet {

publicvoid doPost(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

try{

//调用action等后台方法

//有个返回值,返回给界面的内容

String showMessage = new TestAction().test();

//设置response格式

response.setCharacterEncoding(“UTF-8″);

response.setContentType(“text/html”);

response.getWriter().write(

”{‘success’:true,’showmessage’:'”+ showMessage +”‘}”);

}catch (Exception e) {

//失败时返回的信息

response.setCharacterEncoding(“UTF-8″);

response.setContentType(“text/html”);

response.getWriter().write(

”{‘success’:false,’showmessage’:'出现异常,操作失败’}”);

response.setStatus(500);

}

}

publicvoid doGet(HttpServletRequest request, HttpServletResponse response)

throwsServletException, IOException {

doPost(request,response);

}

}

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

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

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

http://blog.csdn.net/wanghuan203/article/details/8125970

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值