Action类代码为
public String readexcel() throws Exception {
String path = getRealyPath(uploaddir);
File dir = new File(path);
if (!dir.exists()) {
dir.mkdir();
}
int length = excelfileFileName.length();
int start = excelfileFileName.indexOf('.');
if (!excelfileFileName.substring(start+1, length).equalsIgnoreCase("xls")) {
//String msg = "{\"success\":false,\"file\":'wrongfileaaa文件错误'}";
String a = "aaa文件错误";
String msg = "{\"success\":true,\"msgs\":'" +a+ "'}";
getResponse().setCharacterEncoding("UTF-8");
//getResponse().setContentType("html/text");
getResponse().getWriter().write(msg);
return null;
}else{
BufferedInputStream bis = null;
try {
FileInputStream fis = new FileInputStream(excelfile);
bis = new BufferedInputStream(fis);
Workbook book = Workbook.getWorkbook(bis);
Sheet sheet = book.getSheet(0);
int cols = sheet.getColumns();
int rows = sheet.getRows();
List<String[]> list = new ArrayList<String[]>();
for (int j = 0; j < rows; j++) {
String [] strs = new String[cols];
for (int i = 0; i < cols; i++) {
strs[i] = sheet.getCell(i,j).getContents();
}
list.add(strs);
}
StaffBindDao staff = new StaffBindDao();
//staff.addinfo(tablename, list);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if (bis!=null) {
bis.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
System.out.println("sssssssssssssssssss");
String msg = "{success:true, file:'a"+excelfileFileName+"!'}";
getResponse().getWriter().write(msg);
return null;
}
}
js代码为
Ext.BLANK_IMAGE_URL = "/abcd/ext/resources/images/s.gif";
Ext.form.Field.prototype.msgTarget = 'side';
Ext.QuickTips.init();
Ext.onReady(function(){
var msg = function(title, msg){
Ext.Msg.show({
title: title,
msg: msg,
minWidth: 200,
modal: true,
icon: Ext.Msg.INFO,
buttons: Ext.Msg.OK
});
};
var _form = new Ext.FormPanel({
fileUpload: true,
width: 485,
height:285,
frame: true,
autoHeight: true,
bodyStyle: 'padding: 10px 10px 0 10px;',
labelWidth: 50,
defaults: {
anchor: '95%',
allowBlank: false,
msgTarget: 'side'
},
items: [{
xtype: 'textfield',
emptyText: '请填写要插入数据表名称',
blankText: '数据表名称为必填写项',
fieldLabel: '数据表',
name:'tablename'
},{
xtype: 'fileuploadfield',
id: 'form-file',
emptyText: '请选择文件',
blankText: '必须上传文件',
fieldLabel: '文件',
name: 'excelfile',
buttonCfg: {
text: '',
iconCls: 'upload-icon'
}
}],
buttons: [{
text: '上传',
handler: function(){
if(_form.getForm().isValid()){
_form.getForm().submit({
url: 'back/ReadExcelaction_readexcel.action',
//url:'result.jsp',
waitMsg: '文件正在上传',
success: function(_form, o){
msg('系统提示', '文件内容已被成功加载'+o.result.file);
},
failure:function(_form,o){
msg('系统提示', '文件内容已被成功加载'+o.result.file);
if(o.result.file=='wrongfile')
{
msg('系统提示', '文件类型不正确!');
return;
}
}
});
}
}
},{
text: '取消',
handler: function(){
_form.getForm().reset();
}
}]
});
function test(){
myform.form.submit();
}
var window = new Ext.Window({
title:'Excel 文件的上传',
width:500,
height:143,
items:[_form]
});
window.show();
});
XML配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="back" extends="struts-default" namespace="/back">
<action name="*action_*" class="com.jws.action.{1}Action" method="{2}">
<!-- 文件上传 拦截器-->
<!--
<interceptor-ref name="defaultStack">
<param name="fileUpload.maximumSize">102400000</param>
</interceptor-ref>
<result name="test">index.jsp</result>
-->
<param name="uploaddir">/WEB-INF/UploadFiles</param>
<result name="test">../index.jsp</result>
</action>
</package>
</struts>
文件成功上传后
发现一个奇怪的问题。就是上传完成以后,返回的json..
this.responseWrite("{\"success\":true,\"msgs\":'" +uploadFileName+ "'}");
代码里面就这样写的, 可是通过调试,前台多了一个 <per> 标签。 json一直报错,郁闷的很,不知道为什么产生这个东西。
如果设置Response的contentType的话 FF就会出现文件下载的现象
为什么?
分享到:
相关推荐
【标题】"Ext+struts+ibatis 完整项目" 涉及的技术栈是Web开发中的经典组合,主要用于构建高效、可扩展的企业级应用。这个项目虽然规模不大,但包含了实现一个完整Web应用程序所需的关键组件和流程,是学习和理解这...
"EXT+Struts2"是一个常见的技术组合,用于构建企业级的Web应用程序,特别是涉及到文件上传功能时。EXT是一个强大的JavaScript库,它提供了丰富的用户界面组件和交互效果,而Struts2是Java EE平台上的一个MVC框架,...
STRUTS2通过拦截器和配置文件实现了灵活的请求处理,支持多种视图技术,与EXT的集成尤为顺畅,能为前端提供强大的数据展示和交互支持。 学生信息管理系统是一个典型的业务管理系统,其主要功能包括班级管理、学生...
在本文中,我们将深入探讨如何使用ExtJS(Ext)与Struts2.0框架整合,实现多文件上传功能。这是一个常见的需求,在Web应用中,用户可能需要上传多个文件,如图片、文档等。通过理解这一过程,开发者可以构建更强大、...
在本文中,我们将深入探讨如何使用Ext3.2与Struts框架实现文件上传功能,同时解决中文乱码问题。这两个技术结合在一起,可以为Web应用提供高效、稳定的文件上传解决方案。 首先,Ext3.2是一个JavaScript库,它提供...
用EXT+struts2+spring+hibernate做...另外因包太多无法上传,所以请大家自己在myeclipse里面加上spring和hibernate,struts2运行的jar包,jar列表请看根目录下面的txt文件。另外,不会使用的不要再后面骂人,很无趣的!
《基于Ext+Struts2的学生成绩管理系统详解》 在现代信息技术的推动下,教育领域的信息化管理已经成为不可或缺的一部分。学生成绩管理系统的构建,旨在提高教学管理效率,减轻教师的工作负担,为教学决策提供数据...
【标题】"Ext+struts学生管理系统"是一个基于前端Ext框架和后端Struts框架的教育信息化管理系统。这个系统主要用于管理学生信息,实现数据的增删改查等基本功能,同时也可能包括成绩管理、课程安排等多种实用功能。...
5. **配置文件**:在 Struts2 的配置文件(struts.xml 或其他自定义命名的 XML 文件)中,需要定义 ACTION 类及其对应的 URL 映射,以及可能的 JSON 结果类型。 6. **EXT Store 和 Proxy**:EXT 的 Store 用于存储...
标题"能运行的ExtJs+Struts2文件上传"表明这是一个实现了文件上传功能的示例项目。在ExtJs中,可以利用其提供的FileInput组件创建一个文件选择器,用户可以选择文件并提交到服务器。Struts2则在服务器端处理文件上传...
此外,还可以学习到如何配置 Struts 的配置文件(struts-config.xml)以及EXT的配置文件,了解两者之间的数据传递方式。 通过对这个系统的学习,开发者不仅可以掌握 EXT 和 Struts1.2 的基本用法,还能深入理解如何将...
标题 "GWT+EXT+STRUTS2+Eclipse完整范例.rar" 提示我们这是一个包含一个集成开发环境Eclipse的项目,该项目集成了Google Web Toolkit (GWT), EXT JS 和Struts2框架。描述 "整合 GWT EXT STRUTS2 Eclipse 范例" 明确...
一个Ext3 + struts2 + mysql的程序,主要功能是做了一个员工考勤系统,程序采用ext + action + dao的分层结构。代码大概有3000行,功能包括基本的增删改查、头像上传、分页、拦截器等功能,还用ext做了部分前台,有...
在IT行业中,EXT、Struts和Spring是三个非常重要的技术框架,它们分别专注于用户界面、MVC架构和依赖注入。这个“ext+struts+spring小例子”是一个整合这三个技术的示例项目,用于实现一个图书管理应用。下面将详细...
网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。
7. 插件整合:Struts2的插件机制允许开发者添加更多的功能,比如上传文件、国际化支持等。 通过这个项目,开发者不仅可以学习到如何将这两者有效地整合,还可以了解到如何在实际项目中管理数据流、处理用户交互以及...
标题中的“一个ext+spring+hibernate+struts2做的系统”指的是一个基于四大开源框架构建的企业级Java Web应用程序。这些框架分别是EXT JS(一个用于构建富客户端界面的JavaScript库)、Spring(一个全面的Java企业...
本文将详细介绍EXT与Struts2的结合使用,并通过标题和描述中的关键词,如“树”、“gridpanel”、“分页”、“文件上传”和“tabpanel”,深入探讨这些组件的应用。 EXT是一个强大的JavaScript库,它提供了丰富的...
本实例主要关注"ext+struts2"的集成,这是一种常见的Java Web开发组合,其中ext是一个强大的JavaScript库,用于构建富客户端应用,而Struts2是基于MVC设计模式的Java Web框架,负责后端业务逻辑处理和页面展示的组织...
在IT行业中,Web开发是一个重要的领域,而Struts2和EXT是两个常用的技术框架。本文将详细介绍如何将它们整合以实现一个登录功能。 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它极大地...