码迷,mamicode.com
首页 > Web开发 > 详细

extjs 实现下载功能

时间:2014-08-06 19:34:32      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:使用   io   数据   art   ar   cti   代码   new   

纠结了好久,终于实现了extjs的下载功能,其实下载的原理很简单,就是给界面一个按钮,让按钮触发后台action,将地址返回给前台。具体实现如下。

//extjs代码,页面

var btn_out_user = new Ext.Button({  text : ‘导出excel‘,  iconCls : ‘icon-del‘,  handler : function() {  Ext.Msg.show({   title:‘确认导出‘,      msg: ‘您确定导出数据?‘,      buttons: Ext.Msg.YESNO,      width : 250,      fn: function(btn){    if(btn==‘yes‘){              Ext.MessageBox.wait(‘正在导出数据, 请稍侯 ...‘, ‘提示‘);                Ext.Ajax.request({              url : ‘outShopInfoAction.action‘,       success : function(resp, ops){        var obj = Ext.decode(resp.responseText);             window.parent.document.location = obj.path;//将地址赋值        Ext.MessageBox.updateProgress(1); //设置进度条               Ext.MessageBox.hide();  //关闭进度条        ds_user.load({params : {start : 0,limit : 20}});       },       failure : function() {        Ext.MessageBox.updateProgress(1);                Ext.MessageBox.hide();          Ext.Msg.show({         title : ‘错误提示‘,         msg : ‘删除时发生错误!‘,         width : 200,         buttons : Ext.Msg.OK,         icon : Ext.Msg.ERROR        });      }     });    }      },       icon: Ext.MessageBox.QUESTION  });  } });

后台调用程序如下:

 public void out() throws Exception{      String outPath = "../upload/test.xls";    this.getResponse().getWriter().write("{‘path‘ : ‘"+outPath+"‘}");  }

 
在这里要求会使用json的数据传递,在后台程序中,传递一个参数path,它的值是:String outPath = "../upload/test.xls"。前台负责接收这个参数,通过参数名称,取得这个参数的值。

var obj = Ext.decode(resp.responseText); window.parent.document.location = obj.path;

通过以上的方法,可以在后台任意给前台推送值。

extjs 实现下载功能,布布扣,bubuko.com

extjs 实现下载功能

标签:使用   io   数据   art   ar   cti   代码   new   

原文地址:http://my.oschina.net/u/1398304/blog/298609

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!