- 浏览: 1106531 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (401)
- tomcat (7)
- win7 (13)
- stackOverflow (6)
- 1 (0)
- css (5)
- develop IDE (9)
- hibernate (16)
- struts2标签 (10)
- struts2 (25)
- 框架 (1)
- SQLserver2005 (20)
- 词汇解释 (1)
- views (1)
- eclipse (6)
- 效率提高 (12)
- 代码模块 (1)
- 源代码 (3)
- jsonplugin (5)
- ajax (2)
- json (3)
- ssis (14)
- 电脑故障 (10)
- oracle (12)
- poi;excel (5)
- sql (3)
- 正则表达式 (3)
- develop IDEk (8)
- myeclipse (14)
- win2003 (5)
- 正则表达式;js (2)
- js (27)
- 待解决 (2)
- ognl (1)
- com组件 (1)
- 游戏 (6)
- 线程 (0)
- 硬盘 (4)
- 格式化 (2)
- java (7)
- html (9)
- firebug (1)
- jquery (4)
- 文件上传下载 (1)
- vss (2)
- 触发器 (1)
- spring事务管理 (2)
- 模态对话框 (1)
- SQLserver2000 (1)
- web性能优化 (2)
- web安全 (1)
- jetty (1)
- 路由器 (1)
- ie6 (1)
- 缓存 (1)
- jsp (1)
- struts2源代码 (1)
- 方法 (1)
- uml (1)
- ie (3)
- Java日志框架 (1)
- myeclipse,oracle (1)
- freemarker (4)
- 注解 (4)
- svn (2)
- hadoop (15)
- lucene (1)
- word (1)
- spring (5)
- job (1)
- extjs (4)
- paxos (1)
- zookeeper (1)
- 分布式 (1)
- 手机故障 (2)
- maven (2)
- linux (9)
- 虚拟机 (1)
- ext (3)
- javascript (1)
- 数据库 (5)
- 多线程 (12)
- junit (2)
- utils (1)
- mybatis (4)
- Joda-Time (1)
- tftp (1)
- scala (12)
- Graphic2D (1)
- jsf (5)
- 《java并发编程实战》笔记 (16)
- storm (3)
- 设计模式 (3)
- 泛型 (2)
- 数学 (1)
- primeface (1)
- poi (5)
- 线性代数 (1)
- 动态代理 (3)
- mysql (2)
- DB2 (2)
- testNG (1)
- 虚拟机、编译器、增量发布 (1)
最新评论
-
zhouchaofei2010:
Saro 写道在log4j配置里把mapper所在包设为deb ...
mybatis出现sql异常时的日志优化-打印sql参数 -
Saro:
在log4j配置里把mapper所在包设为debug就行了,参 ...
mybatis出现sql异常时的日志优化-打印sql参数 -
pyl574069214:
...
poi Excel 水平居中 垂直居中 -
zhouchaofei2010:
杀手请杀人 写道能看到scala太难得了 谢谢
scala 下划线解析报错: missing parameter type for expanded function -
杀手请杀人:
能看到scala太难得了
scala 下划线解析报错: missing parameter type for expanded function
Action:
/** * 当上传文件大小大于struts.multipart.maxSize提示时, * 客户端会出现如下错误: * "the request was rejected because its size (4501994) * exceeds the configured maximum (2097152)"。 * 此信息在commons-fileupload.jar, * org.apache.commons.fileupload.FileUploadBase源代码中第904行。 * * 重写addActionError()以替换默认信息。 */ @Override public void addActionError(String anErrorMessage) { //这里要先判断一下,是我们要替换的错误,才处理 if (anErrorMessage.startsWith("the request was rejected because its size")) { //这些只是将原信息中的文件大小提取出来。 Matcher m = Pattern.compile("\\d+").matcher(anErrorMessage); String s1 = ""; if (m.find()) s1 = m.group(); String s2 = ""; if (m.find()) s2 = m.group(); //偷梁换柱,将信息替换掉 // super.addActionError("你上传的文件(" + s1 + ")超过允许的大小(" + s2 + ")"); super.addActionError("您上传的附件过大,请确保单次所上传的附件大小总和没有超过20兆!"); isExceedMaximum=true; } else {//不是则不管它 super.addActionError(anErrorMessage); } }
jsp:
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@taglib uri="/struts-tags" prefix="s"%> <html> <body> <!--fielderror--> <s:if test="hasFieldErrors()"> <s:iterator value="fieldErrors"> <s:iterator value="value" status="statu"> <!-- //field的错误消息是List 因此还需要迭代一次 --> <s:set name="index" value="#statu.index"/> <s:set name="msg" value="#msg+value.get(#request.index).toString()==null||#msg+value.get(#request.index).toString()=='null'?'':#msg+value.get(#request.index).toString()+'\\\n'"/><!-- 关键代码 不过开始时有null前缀未去掉 -- > </s:iterator> </s:iterator> </s:if> <!--actionerror --> <s:if test="hasActionErrors()"> <s:iterator value="actionErrors"> <script language="JavaScript"> alert("<s:property escape="false"/>") </script> </s:iterator> </s:if> <!-- actionmessage --> <s:if test="hasActionMessages()"> <s:iterator value="actionMessages"> <script> alert("<s:property escape="false"/>") </script> </s:iterator> </s:if> <!-- 打印转换好格式的fielderror信息 --> <s:if test="#msg.length()>0"> <script language="JavaScript"> // alert('<s:property escape="false" value="#msg"/>') alert("可能资金格式不是数字,请确认!"); </script> </s:if> <script language="JavaScript"> history.back(); </script> </body> </html>
struts2.xml actionl配置:
如果action中默认的拦截器栈包含fileupload拦截器,就不要另外配置。如myStack,defaultStack。否则addActionError()会多执行一次,页面“您上传的附件过大,请确保单次所上传的附件大小总和没有超过20兆!"的提示会alert2次;
全局大小配置:
struts.xml
<constant name= "struts.multipart.maxSize" value="20971520" />
”
发表评论
-
struts2 下载不弹出下载对话框
2012-12-19 17:15 2155如下配置可以: <action name=&quo ... -
getResourceAsStream
2012-12-19 17:00 2557getResourceAsStream http:// ... -
struts2访问WEB-INF文件下内容
2012-11-29 17:30 48331、 WEB-INF下内容,通过浏览器下无法直接访问 2、 ... -
struts2标签判断字符串
2012-11-14 13:24 86111:<s:property value='#at ... -
struts2 action resultType ajax
2012-06-06 11:17 1024概要: 如何在st ... -
数据操作后,页面alert提示例子
2012-04-19 15:16 1035在页面开头插入如下例子代码 <s:if test ... -
struts2 格式化输出日期yyyy-MM-dd
2012-03-26 11:17 17761、直接页面输出 <s:date nam ... -
defaultStack已经包含了fileUpload的拦截器。具体的action不用再另外配置fileUpload的拦截器
2012-03-19 19:42 1062struts2.0.11 的defaultStack已经包含 ... -
struts2 property 不起作用
2012-03-16 11:41 1342<s:select id="select_s ... -
s:hidden value用property标签赋值不起作用
2012-03-07 17:23 4877<s:property value="titl ... -
struts2的重定向带参数
2012-03-06 23:28 0redirect。。。。 -
jsp 调试输出值
2012-03-06 22:46 1221比如有代码 <s:if test="#gdzc ... -
struts2 ognl 传递参数原理及过程
2011-12-31 17:22 1057struts2 ognl 传递参数原理及过程 -
struts2 jsonplugin includeProperties中对list集合的正则配置
2011-12-29 21:21 36531、listAttachment.*\.realName ... -
struts2 jsonplugin includeProperties 对list集合的正则配置
2011-12-29 21:18 4870jsonplugin 0.32 0.34 官方下载 ... -
struts2的重定向与转发配置
2011-12-27 16:18 1239<result name="success&q ... -
struts2读取资源文件的方式
2011-11-27 15:24 1298(1)JSP页面:<s:text name=" ... -
Struts2中对数字进行格式化,1、将数字用 , 号分隔 2、将小数格式化为百分比
2011-11-27 14:51 1218Struts2中对数字进行格式化,1、将数字用 , 号分隔 ... -
struts 2数字格式化话
2011-11-27 14:41 2025--jsp页面 <s:textfield maxLen ... -
iterator标签用begin属性报错:Attribute begin invalid for tag iterator according to TLD
2011-11-12 15:14 6879iterator 标签用bgin 属性报错Attribute ...
相关推荐
当上传的文件大小超过这个限制时,Struts2会阻止文件上传,并返回一个错误消息,指出请求被拒绝是因为其大小超过了允许的最大值。 ### 解决方案:调整`struts.multipart.maxSize` 要解决这个问题,最直接的方法是...
2. 创建Action类:编写一个处理文件上传的Action类,该类需要继承自Struts的ActionSupport,并重写execute方法。在这个方法中,使用FileUpload库解析请求,获取上传的文件信息。 3. 配置Action:在struts-config.xml...
- Struts 2提供了一个名为`Struts2-FileUpload-plugin`的插件,它可以方便地处理文件上传,并且支持自定义文件大小限制。 5. **安全考虑**: - 不限制文件大小可能会导致DoS攻击,因此,即使服务器和容器未设定...
Struts2提供了一套完善的机制来处理文件上传,包括图片。本文将详细讲解如何利用Struts2实现图片上传并进行预览。 一、Struts2文件上传基础 1. 添加依赖:在项目中,你需要添加Struts2的核心库和文件上传插件。...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
综上所述,Struts2文件上传功能的大小设置主要通过配置`FileUploadInterceptor`来实现,结合拦截器栈和Action配置,可以灵活地控制文件上传的大小限制,并提供友好的错误处理。在实际开发中,确保正确配置这些参数,...
在Struts1中,通常使用`org.apache.struts.upload.FormFile`来处理文件上传,而在Struts2中,我们可以使用`org.apache.struts2.views.util.URLBuilder`和`org.apache.struts2.components.File`等类。这个实例可能...
本压缩包"struts+spring文件上传大小限制.rar"显然是针对在Struts和Spring整合环境下,如何处理文件上传时的大小限制问题。以下将详细介绍这两个框架在文件上传时的处理机制以及如何设置文件大小限制。 1. Struts...
Struts2作为一个成熟的MVC框架,提供了简单的API和标记库来处理文件上传下载的业务逻辑。下面是基于给定文件内容的知识点详细说明。 ### Struts2文件上传知识点 1. **Struts2的form标签配置** 在Struts2中进行...
在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`拦截器,并设置允许的最大上传大小。例如: ```xml <package name="default" namespace="/" extends="struts-default"> ...
2. **上传组件**:Struts2使用Apache Commons FileUpload库来处理文件上传。这个库负责解析请求中的多部分数据,将文件内容分离出来。`commons-fileupload.jar` 是这个库的实现,它包含了处理文件上传的基本类和接口...
Struts2框架通过配置文件(如struts.xml或struts.properties)来控制文件上传的最大大小。开发者可以指定一个全局的限制,也可以针对每个表单或特定字段设定单独的限制。 在Struts2中,可以通过以下几种方式设置...
struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload
在本项目中,我们关注的是Struts2中的图片上传功能,以及如何处理图片的大小和格式问题。这个压缩包包含了实现这些功能所需的jar文件和其他资源,例如TestUpload_Struts2项目。 首先,图片上传是Web应用中常见的...
在Struts2框架中,文件上传是通过特定的拦截器实现的,这些拦截器处理了文件上传请求并提供了安全性和大小限制。下面将详细讨论这个主题。 首先,我们来看配置拦截器的部分。在Struts2中,`struts.xml`是配置文件,...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
为了支持文件上传,我们需要创建一个继承自`org.apache.struts2.dispatcher.multipart.MultiPartRequest`的Action类,或者使用Struts2提供的`org.apache.struts2.views.util.DefaultMultiPartRequest`。这个类可以...
3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List<HttpServletFileWrapper>`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...
在处理文件上传时,可能会遇到各种错误,如文件大小超过限制、文件类型不被允许、文件读取或写入失败等。原先的代码可能没有针对这些情况进行有效的错误处理和反馈。改进的方式是,在尝试操作文件时,使用try-catch...
Struts2是一个非常流行的... Struts2异步上传结合了Struts2框架、jQuery、Ajax、JSON插件和文件处理策略,为用户提供了无刷新的文件上传体验。理解并熟练掌握这些组件和技术,对于开发高效、安全的Web应用至关重要。