- 浏览: 1441330 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 7311、自定义异常类 public class AjaxExc ... -
struts2原理
2015-10-15 22:00 759一个Struts2请求处理的步骤大致如下: 1、 ... -
struts2 + poi 数据导出excel
2013-03-18 17:47 1544java源码: import java.io.ByteAr ... -
在Freemarker中使用JSP标签库
2010-06-02 17:24 7089Freemarker作为Struts2的其中一种结果类型,可以 ... -
Struts2 Convention插件的使用
2010-05-17 23:58 73031、常量说明 struts.convention ... -
学习笔记:杂项
2010-04-23 20:40 2756一、在web.xml文件配置Str ... -
Struts2插件的开发
2010-04-21 21:16 3271一、插件类 /** * 使用Struts2的Plugin ... -
读书笔记:Struts2拦截器
2008-11-10 21:19 15791、拦截器相关基础类 Interceptor接口 ... -
自定义标签:联动下拉框(二)
2008-10-27 09:48 3262四、下拉框数据获取方法的源代码 public String f ... -
自定义标签:联动下拉框(一)
2008-10-26 12:22 3464该标签主要实现以下功能:当父下拉框的当前值发生变化时 ... -
自定义标签:下拉框月份选择控件
2008-10-21 22:17 2897一、标签源代码 public class CalendarMo ... -
自定义标签:下拉框年份选择控件
2008-10-21 22:13 5734一、标签源代码 public cl ... -
基于Struts2的通用文件上传实现(一)
2008-10-21 21:19 5837该文件上传实现可以限制上传文件的类型,限制上传文件的最 ... -
自定义标签:分页标签
2008-10-21 09:58 4593一、标签类源代码 public class PageNavig ... -
自定义标签:在JSP页面中动态执行Spring Bean的方法
2008-10-06 13:37 6201使用该自定义标签,可以在JSP页面中动态执行某个Sp ... -
Struts2标签的使用
2008-09-25 12:36 19421、iterator标签:用于对集合进行迭代 &l ...
相关推荐
本书《Struts2技术内幕——深入解析Struts2架构设计与实现原理》结合提供的《struts2基础.chm》资料,为我们提供了深入理解Struts2内部机制的机会。 首先,Struts2的核心在于它的拦截器(Interceptor)机制。拦截器...
总的来说,这个基于Struts2的班级网站项目涵盖了Struts2框架的多个关键方面,对于初学者来说,这是一个很好的实践平台,可以深入理解MVC架构、Action、拦截器、结果类型、文件上传以及用户状态管理等核心概念。...
标题 "ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)" 涉及到的是一个基于Java Web的项目,利用了Struts2、Spring2.5、Hibernate3.3和Ajax技术,实现了文件上传并带有进度条显示的功能...
9. **commons-fileupload-1.3.jar**:Apache Commons FileUpload库专门处理HTTP请求中的多部分文件上传,Struts2使用它来支持用户上传文件的功能。 10. **commons-logging-1.1.3.jar**:Apache Commons Logging是...
总的来说,要实现Java Struts2框架下上传jad等文件类型,我们需要配置Struts2的文件上传支持,编写处理文件上传的Action类,以及可能需要解析和处理jad文件的额外逻辑。以上各步骤都需要对Struts2框架、文件上传机制...
4. **Interceptor拦截器**:Struts2的拦截器可以用来实现通用的文件上传和下载逻辑,例如限制上传大小,记录日志等。 5. **安全性**:文件上传可能导致安全问题,如代码注入、跨站脚本攻击(XSS)。因此,确保对...
6. `Commons-fileupload`:处理HTTP多部分文件上传的库,通常与Struts2一起使用。 在集成第三方框架时,比如Spring,需要额外引入如`struts2-spring-plugin-2.x.x.jar`这样的插件JAR文件。 Struts2的启动配置与...
Struts2是一个强大的Java EE(Enterprise Edition)框架,主要用于构建基于MVC(Model-View-Controller)模式的Web应用程序。这个框架提供了丰富的功能,包括动作调度、数据绑定、异常处理、国际化支持等,大大简化...
Chapter09会讲解如何使用Struts2实现文件上传和下载,包括处理多文件上传、设置上传大小限制、文件类型检查等。 **Chapter10:Struts2国际化** 国际化的支持对于一个大型系统来说是必要的,尤其是租房系统可能面向...
4. **文件上传API**:在Struts2中,通常使用`CommonsFileUpload`库来处理文件上传。这个库提供了`FileItem`接口,可以获取上传文件的信息,并将其保存到服务器的指定位置。 5. **安全注意事项**: - **防止文件...
struts2必须包,commons-fileupload-1.3.1.jar 实现文件上传包,commons-io-2.2.jar 用来处理IO的一些工具类包,commons-lang3-3.1.jar 提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现...
文件上传是Web应用中常见的一项功能,Struts2提供了简单易用的方式来实现这一需求。 ##### 4.3 高级表单处理技巧 在表单处理方面,Struts2支持多种高级技巧,如自动填充表单字段、动态生成表单元素等。 ##### 4.4...
- **拦截器**:Struts2的核心之一,通过拦截器可以实现诸如文件上传、输入验证等功能。 - **处理与分配流程**: - **前端请求**:用户发起的HTTP请求。 - **StrutsPrepareAndExecuteFilter**:处理请求的第一道...
Struts2提供了许多内置的Interceptor,它们覆盖了常见的Web应用程序需求,如参数绑定、类型转换、输入验证、文件上传等。这些内置的Interceptor可以帮助开发者快速构建功能丰富的应用程序,而无需从头开始实现这些...
2. **文件上传下载**:展示了如何使用Struts2处理文件上传和下载,包括文件大小限制、类型检查等。 3. **拦截器实战**:通过自定义拦截器,可以实现如登录检查、权限控制等功能。 4. **Ajax支持**:Struts2提供了对...
### Struts2框架基础知识 #### 一、Struts2框架简介 Struts2是一个基于Java的开源Web应用程序...此外,Struts2还提供了丰富的特性支持,如表单验证、文件上传、AJAX支持等,使得开发者能够构建更为复杂的应用程序。
这些JAR文件是构建基于Struts2的应用的基础,缺少任何一个都可能导致应用无法正常运行。以下是对这些核心组件的详细介绍: 1. **.struts2-core.jar**:这是Struts2框架的核心库,包含Action、Result、Interceptor等...
在开发基于Struts2的应用时,正确配置和选用所需的资源包至关重要,这能确保项目的稳定性和高效性。在这个“配置struts2需要的资源包”的主题中,我们将详细探讨Struts2的核心组件、依赖库以及如何精简不必要的包。 ...
拦截器是Struts2的一大特色,可以实现如日志、权限检查、事务管理等通用功能,并且可以按需组合使用。结果类型则是决定Action执行完成后如何跳转到视图页面。 Struts2的Action支持多种结果类型,包括JSP、...