`
cat_rat
  • 浏览: 20799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

extjs fileUpload文件上传时ie报错missing } in XML expression与火狐<pre>问题

    博客分类:
  • ext
ext 
阅读更多

最近在用ext3做一些小东西,用了它是上传控件,遇到了一些问题。记录一下。

对于文件上传来说,需要注意以下几个方面:

  1. FormPanel中设置一个属性【fileUpload : 'true'】;

<!--[if !supportLists]-->2.    <!--[endif]-->jsp页面中引入FileUploadField.js文件,这个文件的路径是【"${pageContext.request.contextPath}/ux/fileuploadfield/FileUploadField.js"】;

UI组件

相应的ExtJS属性(主要部分)

后台Java Bean属性

xtype : 'fileuploadfield'

需要定义name属性,name : 'xyz'

Struts1/2是不同的,这里以struts2为例。根据情况,需要定义三个属性中的某个或某几个。它们分别是:

File xyz; --- 真正的文件;

String xyzFileName; --- 文件名字;

String xyzContentType; --- 文件类型;

多文件上传时,需要将属性定义为List类型;

这里需要注意的是:文件上传一样受struts的文件上传大小的限制。

 

在调用此方法时会发现json返回值被加上(<pre>{success:true, msg:'成功'}</pre>)

ext-all.js里报错。

IE,fox里都报错,

在网上找了下,有人在改ext-all.js

再上网找了下发现在处理文件里设置Response.ContentType = "text/html";

就不会再报错了 记录下来

上面是网上的一办法,不过我在设置Response.ContentType = "text/html"时,页面会弹出下载文件提示,不知道为什么,最后重写了ext的submit方法

如下:

Ext.override(Ext.form.Action.Submit,{
									    processResponse : function(response){
									        this.response = response;
									        var data = response.responseText;
									        if(data.indexOf('<pre') != -1) {
									          response.responseText = data.substring(data.indexOf("{"), data.indexOf("}")+1);
									          this.response = Ext.util.JSON.decode(response.responseText);
									    	}
									        if(!response.responseText){
									            return true;
									        }

									        return this.result;
									    }
									});
 
分享到:
评论
6 楼 aassdd 2012-07-17  
在对应的struts.xml中添加 <param name="contentType">text/html;charset=UTF-8
<!-- 上传SNPexcle文件 -->
<action name="upSnpFile" class="famliySampleAction" method="upSnpFile">
<result type="json">
<param name="root">page</param>
<param name="contentType">text/html;charset=UTF-8</param>
</result>
</action>
5 楼 xieweiting 2012-05-09  
现在已经解决了一半,在IE里面可以正常运行,在FireFox里面依然不能提示是否保存成功
4 楼 cat_rat 2012-05-09  
xieweiting 写道
cat_rat 写道
xieweiting 写道
听了楼主的,加了重写ext的submit事件后出现“success为空或不是对象”,请教楼主这是啥原因?

你看一下返回的json串,看格式是否正确,上面的方法只是把返回的串截取了一下

哦,是这样啊,我知道了,那在ext-all.js里怎么改啊,我新手,我还是不明白

具体怎么改我记不清了,你在网上找找,应该有,你在js里打个断点,跟进去看看你返回值
3 楼 xieweiting 2012-05-09  
cat_rat 写道
xieweiting 写道
听了楼主的,加了重写ext的submit事件后出现“success为空或不是对象”,请教楼主这是啥原因?

你看一下返回的json串,看格式是否正确,上面的方法只是把返回的串截取了一下

哦,是这样啊,我知道了,那在ext-all.js里怎么改啊,我新手,我还是不明白
2 楼 cat_rat 2012-05-07  
xieweiting 写道
听了楼主的,加了重写ext的submit事件后出现“success为空或不是对象”,请教楼主这是啥原因?

你看一下返回的json串,看格式是否正确,上面的方法只是把返回的串截取了一下
1 楼 xieweiting 2012-05-07  
听了楼主的,加了重写ext的submit事件后出现“success为空或不是对象”,请教楼主这是啥原因?

相关推荐

    javascrip上百技术总集

    外一篇&lt;br&gt;用javascript改变onclick调用的函数&lt;br&gt;用JavaScript加密保护...ExtJS&lt;br&gt;js访问xml之遍历节点树&lt;br&gt;js访问xml之创建xmlDocument&lt;br&gt;js访问xml之根节点操作&lt;br&gt;js访问xml之节点操作(1)&lt;br&gt;js访问xml之节点...

    EXTJS 2.0.2

    EXT2.0,也就是EXTJS2.0是目前最新的技术...&lt;br&gt;&lt;br&gt;具体的帮助文档请去网上查询 搜索EXTJS 或者EXT2.0使用教程即可&lt;br&gt;&lt;br&gt;还有可以一起使用的开发类工具 &lt;br&gt;FreeMarker (www.freemarker.org)&lt;br&gt;JSON (www.json.org)

    Extjs配置文件和示例文件

    本压缩包中的“Extjs配置文件和示例文件”是针对ExtJS进行深入学习和实践的重要资源。 首先,我们要理解`配置文件`在ExtJS中的作用。在ExtJS中,配置文件主要用于设定组件的行为、样式以及应用程序的整体结构。这些...

    struts2+extjs3 单/多文件上传

    本文将深入探讨如何使用Struts2和ExtJS3实现单文件和多文件的上传功能。 首先,我们要理解文件上传的基本流程。在Web应用中,用户通过浏览器选择本地文件,然后这些文件的数据被封装到HTTP请求中发送到服务器。...

    ManagedIframe

    对ExtJS的TabPanel加载带js的iframe页提供支持&lt;br&gt;extjs load once提供支持&lt;br&gt;extjs 面板间消息传递提供支持。。&lt;br&gt;&lt;br&gt;资源整理自extjs论坛,修正了里面的链接和异常,直接部署到extjs2.1的example底下就可以&lt;br&gt;...

    EXT2.0 简明教程!(chm)

    哪里都没有找到下载,就自己弄了下,方便随时查看&lt;br&gt;&lt;br&gt;第 1 章 闪烁吧!看看extjs那些美丽的例子。 &lt;br&gt;第 2 章 震撼吧!让你知道ext表格控件的厉害。 &lt;br&gt;第 3 章 歌颂吧!只为了树也要学ext。 &lt;br&gt;第 4 章 祝福...

    ext grid 合计行

    找了半天,结果在extjs的老家找到一个前辈写的代码,可以在grid上面加上合计,&lt;br&gt;&lt;br&gt;但是却只能合计grid里面的数据,但是我们平常一般是只显示20行或者30行,这样的合计就没有什么意义,我们的合计数据是单独从...

    EXTJS 多文件上传

    在EXTJS中,`MultiFileUploadField` 是一个组件,它允许用户在单个操作中选择并上传多个文件,极大地提升了用户交互体验。这个功能对于处理大量文件上传的场景非常有用,比如在内容管理系统、图像库或者文件分享平台...

    不懂ajax一样做ajax extjs2.02

    这个软件现在市面上只有2.0 和2.1&lt;br&gt;2,0有些新东西不能用&lt;br&gt;2.1要钱才能用啊,&lt;br&gt;&lt;br&gt;怕这个东西以后2.02没有了先发个到csdn保存一下,&lt;br&gt;&lt;br&gt;听说网友想在2.02上开发出网友自己的2.1这个目前不敢肯定,但是官方的...

    EXT2.0中文教程

    &lt;br&gt;&lt;br&gt;extjs是一套完整的富客户端解决方案,也因为功能完整,造成ext-all.js有400多k,请注意,这还是压缩后的大小,而且因为是基于js和css的功能实现,对客户端机器性能也有一定的要求,比如不支持ie6以下的版本...

    Extjs4文件上传,后台struts2

    在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...

    ExtJS实现多文件上传UploadDialog For ExtJS3.x

    在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...

    ExtJs XML 省市县级联

    在"ExtJs XML 省市县级联"这个项目中,开发人员利用ExtJs的组件和数据处理能力,结合XML数据格式,实现了中国省市县三级联动的选择效果。这种功能常见于需要用户选择详细地区信息的Web应用中,如物流配送、地址填写...

    ExtJS 多文件上传 UploadDialog For ExtJS3.x

    ### ExtJS 多文件上传 UploadDialog For ExtJS3.x #### 概述 在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容...

    ExtJS验证上传文件类型

    例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细讲述ExtJS如何验证文件上传类型。 使用 Validator 验证文件类型 在 ExtJS 中,我们...

    extjs多文件上传

    在IT行业中,多文件上传是Web应用中常见的一项功能,特别是在需要用户批量上传图片、文档等数据时。本文将深入探讨“extjs多文件上传”这一主题,结合标签“源码”和“工具”,我们将主要关注如何使用ExtJS库实现这...

    ExtJS4多文件上传,带进度条及管理

    在实际应用中,还需要考虑文件上传的安全问题,例如防止文件类型攻击、大小限制、防止重复上传等。同时,通过异步上传和分块上传技术,可以提高上传效率,减少服务器压力。 总之,"ExtJS4多文件上传,带进度条及...

    ExtJS原生多文件拖动上传组件

    ExtJS原生多文件拖动上传组件 使用时修改包路径 1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化...

    extjs4 模板值和模板

    var tpl = new Ext.Template('&lt;table border=1 cellpadding=0 cellspacing = 0&gt;', '&lt;tr&gt;&lt;td width=90&gt;姓名&lt;/td&gt;&lt;td width=90&gt;{0}&lt;/td&gt;&lt;/tr&gt;', '&lt;tr&gt;&lt;td&gt;年龄&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;', '&lt;tr&gt;&lt;td&gt;性别&lt;/td&gt;&lt;td&gt;{2}&lt;/...

    extjs 多文件上传

    在ExtJS中实现多文件上传功能,能够极大地提升用户体验,特别是在处理大量数据或文件时。本篇文章将详细探讨如何使用ExtJS实现多文件上传,并涵盖相关的关键知识点。 一、ExtJS 文件上传组件 在ExtJS中,我们可以...

Global site tag (gtag.js) - Google Analytics