text:'下载Excel文档' 这个命令鈕下的内容应该没错朋友和网上都是这样正常,我用着怎么压根不能进servlet,去掉fform: Ext.fly('download'), isUpload: true这两句就能进servlet但我不能下载。哪位大侠帮我看看?
StudentGridPanel.superclass.constructor
.call(
this,
{
layout : 'fit',
//sm : sm,
        loadMask:true,      //读取数据时的遮罩和提示功能,默认为false  
viewConfig : {
  emptyText : "sorry,没有数据",
            forceFit : true,
            enableRowBody : true,
            getRowClass :function(record, rowIndex, p, ds) {
                var cls = 'white-row';
var colorI=rowIndex%3;
                switch (colorI) {
                    case 0 :
                        cls = 'yellow-row'
                        break;
                    case 1 :
                        cls = 'green-row'
                        break;
                    case 2 :
                        cls = 'red-row'
                        break;
                }
                return cls;
            }
},
        tbar:[{
            text:'导出到Excel',
            tooltip:'将统计表数据输出到Excel文件',
            iconCls:'excel',
            handler : function(){
         var json = [];
         var store = _grid.getStore();
var len = store.getCount();
for(var i = 0;i < len;i++){
    var item = store.getAt(i);
    json.push(item.data);
}
        if (json.length > 0) {  
            Ext.Ajax.request({  
                 url: "tjxx.myaction?method=toExcel",  
                 params: { 
            data: Ext.util.JSON.encode(json)
            // ,stat_date:sDate
            },  
                 method: "POST",
                 waitMsg:'正在生成数据,请稍候...',
                 success: function(response) {
                 var result = Ext.decode(response.responseText); 
                if (result.success = true) {  
                    Ext.MessageBox.alert("信息", result.info, function(){ 
                    });  
                      }else  
Ext.MessageBox.alert('\u9519\u8bef', result.info);
                 }, 
                 failure: function(response) { 
                      Ext.Msg.alert("警告", "数据更新失败,请稍后再试!");  
                 }  
             });  
         } 
            }
         },'-',{
         text:'下载Excel文档',
            tooltip:'将Excel统计表数据下载到本地计算机',
            iconCls:'excel',
            handler : function() { 
         if (!Ext.fly('download')) {
         var frm = document.createElement('form');
         frm.id = 'download';
         frm.name = id;
         frm.style.display = 'none';
         document.body.appendChild(frm);
        }
         Ext.Ajax.request({
         //url: 'tjxx.myaction',
         url: 'tjxx.myaction?method=downExcel',
         form: Ext.fly('download'),
         method: 'POST',
         isUpload: true
        }) 
            }
        }]
        });
}Ext.extend(StudentGridPanel, Ext.grid.GridPanel, {
// width : 660,
height : 250,
    stripeRows : true, //True表示使用不同颜色间隔行,默认为false.   
//   loadMask:true,      //读取数据时的遮罩和提示功能,默认为false   getSelected : function() {
var record = this.getSelectionModel().getSelected();
if (record == null) {
Ext.MessageBox.show( {
title : '提示',
msg : "请选择记录",
buttons : Ext.MessageBox.OK,
icon : Ext.MessageBox.INFO
});
} else {
return record;
}
},
listeners:{},
    plugins:[expander], 'mouseover' : function(e) {
e.stopPropagation();
},
'mouseout' : function(e) {
e.stopPropagation();
}, getSelections : function() {
var records = this.getSelectionModel().getSelections();
if (records.length < 1) {
Ext.MessageBox.show( {
title : '提示',
msg : "请选择记录",
buttons : Ext.MessageBox.OK,
icon : Ext.MessageBox.INFO
});
} else {
return records
}
}
});

解决方案 »

  1.   

    没有 用firebug发现加了那两句就不能触发servlet
      

  2.   

    点击下载文件时myeclipse的console的提示2011-6-15 21:35:08 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet tjxxServlet threw exception
    java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:476)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:486)
    at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:517)
    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
    at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:515)
    at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:697)
    at org.apache.struts2.dispatcher.FilterDispatcher.prepareDispatcherAndWrapRequest(FilterDispatcher.java:330)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:390)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.morik.util.EncodingFilter.doFilter(EncodingFilter.java:25)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
    at org.apache.struts2.config.BeanSelectionProvider$ObjectFactoryDelegateFactory.create(BeanSelectionProvider.java:247)
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
    ... 23 more