- 浏览: 1425443 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (409)
- Java (48)
- Spring (29)
- struts2 (17)
- hibernate (4)
- 设计模式 (24)
- jbpm (1)
- JavaScript (5)
- 统计报表 (7)
- ExtJS_3.0 (35)
- struts1 (1)
- 分析设计 (3)
- Flex3 (24)
- UML (2)
- 数据库 (18)
- PowerDesigner (2)
- 应用服务器 (3)
- WebService (5)
- ActiveMQ_5.3.2 (6)
- Java通信技术 (11)
- GWT (6)
- OSGi (15)
- android (11)
- liferay6.0.6 (13)
- jquery (13)
- Linux (3)
- java.util.concurrent (16)
- guava (9)
- 开发模式 (1)
- 大数据 (2)
- 互联网金融 (4)
- treegrid-3.0 (7)
- 分布式 (8)
- GO语言 (4)
- maven (1)
- 缓存技术 (6)
- 其他 (2)
- 前端页面 (1)
- heasy (1)
- spring cloud(F版) (21)
- springboot (12)
- springmvc (5)
- mybatis (3)
- dubbo (1)
- 物联网 (0)
最新评论
-
raymond.chen:
谢谢您的分享
使用Ngrok解决通过外网访问内网web应用 -
wangyudong:
速度有点慢,不过在也找到了一个开源的holer,配置一个key ...
使用Ngrok解决通过外网访问内网web应用 -
a1006458222:
...
Axis2的部署和应用 -
偷师来了:
不好意思 这样的博客我觉得就灭有必要分享出来了 命令大家都会看 ...
Consul框架介绍 -
lliiqiang:
怎么直接删除文件夹啊?固定的几个文件可以删除,不固定的呢?需要 ...
Flex AIR —— 文件读写
四、Action配置
<action name="attachList" class="attachAction"> <result name="success" type="tiles">attach.list</result> </action> <action name="upload" class="attachAction"> <result name="input" type="tiles">attach.add</result> <result name="success" type="tiles">window.close</result> </action> <action name="attachDelete" class="attachAction"> <result name="success" type="redirect">${url}</result> </action> <action name="download" class="attachAction"> <result name="success" type="stream"> <param name="contentType">application/octet-stream</param> <param name="contentDisposition">attachment;filename=${uploadFileName}</param> <param name="bufferSize">4096</param> <param name="inputName">targetFile</param> </result> </action>
五、列表JSP页面源代码
<cjm:toolBar> <cjm:toolBarButton title="上传附件" width="80" onclick="openUploadWindow('upload.action?attach.entityName=%{attach.entityName}&attach.entityId=%{attach.entityId}&attach.refName=%{attach.refName}&attach.path=%{attach.path}&allowTypes=%{allowTypes}&maxSize=%{maxSize}')" imgSrc="images/toolbar/add.gif"/> <cjm:toolBarButton title="删除" onclick="deleteFormRow(document.all['frmAttachList'], 'chk_o_', 'attachDelete.action')" imgSrc="images/toolbar/delete.gif"/> </cjm:toolBar> <s:form name="frmAttachList"> <s:hidden name="attach.path" value="%{attach.path}"/> <s:hidden name="attach.entityName" value="%{attach.entityName}"/> <s:hidden name="attach.entityId" value="%{attach.entityId}"/> <s:hidden name="attach.refName" value="%{attach.refName}"/> <s:hidden name="allowTypes" value="%{allowTypes}"/> <s:hidden name="maxSize" value="%{maxSize}"/> <table border="0" cellspacing="0" cellpadding="2" class="list" align="center"> <tr class="top" height="25"> <td width="25"><input type="checkbox" onclick="checkAll(this)"></td> <td>附件名称</td> <td width="100">文件大小</td> <td width="150">文件类型</td> <td width="130">创建时间</td> <td width="50">下载</td> </tr> <s:iterator value="attachList" id="attach" status="st"> <tr <s:if test="#st.odd">class="bg1"</s:if><s:else>class="bg2"</s:else> > <td align="center"><input type="checkbox" name="chk_o_<s:property value='#st.count'/>" value="<s:property value='#attach.id'/>"></td> <td align="left"> <s:property value="#attach.name"/></td> <td align="center"> <s:property value="#attach.fileSize"/> K</td> <td align="center"> <s:property value="#attach.contentType"/></td> <td align="center"> <s:date name="#attach.createDate" format="yyyy-MM-dd HH:mm"/></td> <td align="center"><a href="download.action?attach.id=<s:property value="#attach.id"/>">下载</a></td> </tr> </s:iterator> </table> </s:form>
六、附件添加JSP页面源代码
<s:form action="upload" name="frmUpload" method="post" enctype="multipart/form-data"> <s:hidden name="attach.path" value="%{attach.path}"/> <s:hidden name="attach.entityName" value="%{attach.entityName}"/> <s:hidden name="attach.entityId" value="%{attach.entityId}"/> <s:hidden name="attach.refName" value="%{attach.refName}"/> <s:hidden name="allowTypes" value="%{allowTypes}"/> <s:hidden name="maxSize" value="%{maxSize}"/> <br> <s:file name="upload" label="选择文件" size="55" cdata=" dataType='Require' msg='必填项'"/> </s:form>
七、范例
attachList.action?attach.entityName=Organization&attach.entityId=${org.orgId}&attach.refName=attachment&attach.path=/sim&allowTypes=txt&maxSize=10485760
评论
2 楼
raymond.chen
2008-10-25
可以到我的博客 http://chenjumin.iteye.com 查阅《基于Struts2的通用文件上传实现》这篇文章的一、二两章,从中你可以找到答案。看download这个Action的配置和源代码就知道了。
1 楼
wiely
2008-10-25
怎么实现下载列表呢?比如说是在一个界面有一个下载列表,用户可以选择某个进行下载。
发表评论
-
在Struts2中对Ajax请求的异常进行统一处理
2016-04-18 18:32 6941、自定义异常类 public class AjaxExc ... -
struts2原理
2015-10-15 22:00 735一个Struts2请求处理的步骤大致如下: 1、 ... -
struts2 + poi 数据导出excel
2013-03-18 17:47 1518java源码: import java.io.ByteAr ... -
在Freemarker中使用JSP标签库
2010-06-02 17:24 7063Freemarker作为Struts2的其中一种结果类型,可以 ... -
Struts2 Convention插件的使用
2010-05-17 23:58 72711、常量说明 struts.convention ... -
学习笔记:杂项
2010-04-23 20:40 2735一、在web.xml文件配置Str ... -
Struts2插件的开发
2010-04-21 21:16 3252一、插件类 /** * 使用Struts2的Plugin ... -
读书笔记:Struts2拦截器
2008-11-10 21:19 15381、拦截器相关基础类 Interceptor接口 ... -
自定义标签:联动下拉框(二)
2008-10-27 09:48 3226四、下拉框数据获取方法的源代码 public String f ... -
自定义标签:联动下拉框(一)
2008-10-26 12:22 3426该标签主要实现以下功能:当父下拉框的当前值发生变化时 ... -
自定义标签:下拉框月份选择控件
2008-10-21 22:17 2875一、标签源代码 public class CalendarMo ... -
自定义标签:下拉框年份选择控件
2008-10-21 22:13 5701一、标签源代码 public cl ... -
基于Struts2的通用文件上传实现(一)
2008-10-21 21:19 5811该文件上传实现可以限制上传文件的类型,限制上传文件的最 ... -
自定义标签:分页标签
2008-10-21 09:58 4564一、标签类源代码 public class PageNavig ... -
自定义标签:在JSP页面中动态执行Spring Bean的方法
2008-10-06 13:37 6158使用该自定义标签,可以在JSP页面中动态执行某个Sp ... -
Struts2标签的使用
2008-09-25 12:36 19111、iterator标签:用于对集合进行迭代 &l ...
相关推荐
struts2必须包,commons-fileupload-1.3.1.jar 实现文件上传包,commons-io-2.2.jar 用来处理IO的一些工具类包,commons-lang3-3.1.jar 提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现...
3.5 案例研究:文件上传 56 3.5.1 通过struts-default包获得内建的支持 56 3.5.2 fileUpload拦截器做什么 57 3.5.3 Struts 2公文包示例代码研究 58 3.6 小结 60 第4章 使用拦截器追加工作流 61 4.1 为什么要拦截...
Struts2是一个基于MVC设计模式的Web应用框架,它是在WebWork2的基础上发展起来的。与Struts1相比,Struts2具有诸多优势,使其成为开发者更优选的框架之一。 首先,Struts2采取了非侵入式设计,与Servlet API和...
作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...
- **上传下载**:支持文件上传和下载功能,简化了处理文件上传的复杂性。 - **拦截器**:通过拦截器链,可以添加额外的行为,如日志、事务管理等,无需修改Action代码。 - **国际化**:提供了易于实现的国际化...
你需要导入一系列的jar包,如`struts2-core`、`xwork`、`ognl`、`freemarker`、`commons-logging`、`commons-fileupload`和`commons-io`等,这些库提供了核心功能、对象导航、模板引擎、日志处理、文件上传等功能。...
例如,workflow拦截器处理业务流程,validation拦截器进行数据校验,而文件上传功能可以通过专门的拦截器实现。 3. **Action**:Action是业务逻辑控制器,它实现了用户的特定操作。当请求经过拦截器链后,会回调...
如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上...
1. **Struts2**:Struts2是基于Apache Jakarta Struts的下一代Web应用框架,它提供了一种更灵活和强大的MVC架构。依赖包包括`struts2-core-2.0.11.jar`和`struts2-spring-plugin-2.0.11.jar`,后者用于将Struts2与...
- g) `fileUpload`拦截器:处理文件上传请求。 - k) `workflow`拦截器:基于业务流程控制的拦截器。 - l) `servletConfig`拦截器:访问Servlet的配置信息。 - m) `timer`拦截器:记录Action执行时间。 - n) `...
同时也实现了文件上传(基于struts2的文件上传功能)。 4、代码下载,下载功能会判断用户是否下载过该代码,若下载过则不扣积分。下载功能也是基于struts2的下载模块实现的。 5、代码评论,该功能是我仿照qq空间评论...
- `commons-fileupload.jar`:实现了文件上传功能。 - `commons-io.jar`:提供输入输出操作,支持文件上传。 - `commons-logging.jar`:通用的日志处理库,用于各种日志框架的统一接口。 - `commons-validator....
本系统基于B/S模式,采用Struts2框架、Spring框架、JavaBean、Hibernate框架和JSP技术,以MyEclipse Professional 2014作为系统开发平台,通过Oracle 10g管理数据库系统来设计和实现OA办公自动化系统。该系统主要...
SSH2配置过程中,涉及到多个Java库,这些库是构建基于SSH2(Struts2、Spring、Hibernate2)的Web应用程序的基础。首先,我们来看SSH2的核心组件: 1. **Struts2**:这是一个用于构建MVC(Model-View-Controller)...
其他如`commons-lang3-3.1.jar`提供对Java标准库的扩展,`commons-fileupload-1.2.2.jar`支持文件上传,而`commons-logging-1.1.1.jar`则是一个通用的日志记录包。 接下来是Spring框架。Spring3.2.0版的核心组件...
4. 文件上传/下载:Struts支持文件的上传和下载操作。 5. 数据验证:通过拦截器实现表单数据的验证。 6. OGNL(Object-Graph Navigation Language):用于表达式的处理,如在JSP中动态获取和设置对象属性。 7. 数据...
本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。 1、 系统处理的准确性和及时性:系统处理的...
- 用户可以上传电子书内容,文件上传的核心功能由`doUpload`方法处理。文件可能包括SWF(Flash)文件和图片,根据用户设置的参数如`adaptive`(自适应图像大小调整)和`compressRate`(压缩比例)进行处理。 5. **...