- 浏览: 1116699 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (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 2167如下配置可以: <action name=&quo ... -
getResourceAsStream
2012-12-19 17:00 2571getResourceAsStream http:// ... -
struts2访问WEB-INF文件下内容
2012-11-29 17:30 48521、 WEB-INF下内容,通过浏览器下无法直接访问 2、 ... -
struts2标签判断字符串
2012-11-14 13:24 87311:<s:property value='#at ... -
struts2 action resultType ajax
2012-06-06 11:17 1045概要: 如何在st ... -
数据操作后,页面alert提示例子
2012-04-19 15:16 1068在页面开头插入如下例子代码 <s:if test ... -
struts2 格式化输出日期yyyy-MM-dd
2012-03-26 11:17 18001、直接页面输出 <s:date nam ... -
defaultStack已经包含了fileUpload的拦截器。具体的action不用再另外配置fileUpload的拦截器
2012-03-19 19:42 1077struts2.0.11 的defaultStack已经包含 ... -
struts2 property 不起作用
2012-03-16 11:41 1364<s:select id="select_s ... -
s:hidden value用property标签赋值不起作用
2012-03-07 17:23 4890<s:property value="titl ... -
struts2的重定向带参数
2012-03-06 23:28 0redirect。。。。 -
jsp 调试输出值
2012-03-06 22:46 1235比如有代码 <s:if test="#gdzc ... -
struts2 ognl 传递参数原理及过程
2011-12-31 17:22 1073struts2 ognl 传递参数原理及过程 -
struts2 jsonplugin includeProperties中对list集合的正则配置
2011-12-29 21:21 36781、listAttachment.*\.realName ... -
struts2 jsonplugin includeProperties 对list集合的正则配置
2011-12-29 21:18 4889jsonplugin 0.32 0.34 官方下载 ... -
struts2的重定向与转发配置
2011-12-27 16:18 1251<result name="success&q ... -
struts2读取资源文件的方式
2011-11-27 15:24 1314(1)JSP页面:<s:text name=" ... -
Struts2中对数字进行格式化,1、将数字用 , 号分隔 2、将小数格式化为百分比
2011-11-27 14:51 1245Struts2中对数字进行格式化,1、将数字用 , 号分隔 ... -
struts 2数字格式化话
2011-11-27 14:41 2041--jsp页面 <s:textfield maxLen ... -
iterator标签用begin属性报错:Attribute begin invalid for tag iterator according to TLD
2011-11-12 15:14 6895iterator 标签用bgin 属性报错Attribute ...
相关推荐
Struts2提供了`struts.multipart.parser`配置项来选择不同的multipart解析器,如CommonsMultipartRequestHandler,它支持配置最大文件大小。通过拦截器,我们可以添加自定义逻辑来验证文件类型。 文件下载则是将...
在使用Struts处理文件上传时,有时可能会遇到附件上传速度缓慢的问题。这个问题通常不是由于Struts框架本身引起的,而是与浏览器、网络环境以及服务器配置有关。特别是对于使用IE6的用户,由于其上传机制的限制,...
3. **配置文件**:在struts.xml配置文件中,需要启用FileUpload拦截器,并配置允许的最大文件大小和总体上传大小。 4. **文件保存**:在Action类的execute方法中,你可以处理上传的文件,例如移动到指定目录、...