问题描述:
实现不定个数的文件上传
解决方案:
1、MultipartRequestHandler
关键代码:
FormFile[] formFile = null;
// 得到所有的文件请求元素
Hashtable files = dynauploadForm.getMultipartRequestHandler()
.getFileElements();
if (files != null && files.size() > 0) {
// 初始化FormFile
formFile = new FormFile[files.size()];
// 得到files的keys
Enumeration enums = files.keys();
String fileKey = null;
int i = 0;
// 遍历枚举
while (enums.hasMoreElements()) {
// 取得key
fileKey = (String) (enums.nextElement());
// 初始化每一个FormFile(接口)
formFile[i] = (FormFile) files.get(fileKey);
System.out.println("key:" + fileKey);
// 分别上传
try {
System.out.println("上传");
//upFile(formFile[i], "d:/test/");
} catch (Exception e) {
e.printStackTrace();
}
i++;
}
}
参考文章
Struts1.2实现动态多文件(不定个数)上传
http://kb.cnblogs.com/b/178722/
2、lazy actionform
FormFile formFile = (FormFile) dynaForm.get("file1");
ps: 这里file1要知道,可以通过其他固定属性提交获取。
参考文章:
Lazy ActionForm
http://blog.csdn.net/zmfkplj/archive/2007/12/01/1910598.aspx
ps:1、文章中的List方式没有测试通过
2、action 中的 validate="false" 否则报Resources cannot be null 异常
分享到:
相关推荐
Struts1.x与Struts2.x是两种非常流行的Java Web应用程序框架,它们都由Apache软件基金会开发,旨在简化MVC(Model-View-Controller)架构的实现。然而,两者在设计哲学、功能特性以及实现方式上存在显著差异。以下是...
总的来说,Struts1.x的多文件上传功能通过合理的表单设计、框架配置和后端处理,可以方便地实现用户在Web应用中上传多个文件。然而,随着技术的发展,现在的Web应用更多地转向了Spring MVC等更现代的框架,它们提供...
6. **国际化与本地化**:Struts1.x支持多语言环境,通过Resource Bundle管理和message.properties文件实现动态加载不同语言的文本资源,提供本地化服务。 7. **Tiles框架**:Tiles是Struts1.x的一个插件,用于构建...
在Struts1.x中,实现文件上传功能是一个常见的需求,特别是在处理用户提交的表单时需要包含多个文件。下面我们将详细介绍如何使用Struts1.x来实现多个文件的上传。 首先,我们需要在HTML表单中添加`...
综上所述,Struts2.x相对于Struts1.x在多个方面进行了改进和优化,包括但不限于Action的实现方式、工作流程、数据绑定、视图技术以及验证机制,这些改进共同构成了Struts2.x相较于Struts1.x的优势,使其成为现代Web...
- **第一个程序**:创建一个简单的 Struts1.x 项目,包含基本的 JSP 页面、Action 类和配置文件,实现用户提交表单数据的功能。 - **示例步骤**: 1. 创建一个新的 Web 项目。 2. 配置 Struts1.x 的依赖库。 3. ...
8. **国际化与本地化**:Struts1.x支持多语言,通过资源包(properties文件)来实现。你可以为不同的语言创建不同的资源配置文件,Struts会根据用户的浏览器设置自动选择。 9. **异常处理**:Struts1.x提供了异常...
本示例将探讨如何使用Struts1.x实现一个简单的登录功能。首先,我们需要理解Struts1.x的核心概念和组件。 1. **MVC架构**: MVC是一种设计模式,将应用程序分为三个主要部分:模型(Model)负责业务逻辑,视图...
7. **国际化和本地化**:Struts 1.x 支持多语言和文化环境,通过Resource Bundles管理不同地区的文本资源,方便实现国际化。 8. **异常处理**:通过配置全局异常处理,Struts 1.x 可以捕获并处理应用程序中抛出的...
- 创建一个新的Web项目,例如myStruts1.x,并将Struts的jar文件导入到项目类路径中。为了便于管理,通常会把这些常用的jar包添加到用户的类库中,以便于在多个项目中复用。 2. **创建ActionForm**: - ActionForm...
这个网上书店示例对于学习和理解Struts1.x框架的MVC工作原理,以及如何整合jQuery和Ajax以实现动态交互是非常有价值的。尽管代码可能未完全改造,但它提供了一个实际的起点,让学生或开发者能够进一步实践和优化。
总的来说,Struts1.x中的文件上传涉及客户端表单设计、服务器端的文件处理以及错误处理等多个环节。理解这一过程对于任何使用Struts1.x开发Web应用的人来说都是至关重要的。通过学习和实践这个示例,你可以更好地...
本资源集合包含了所有最新的Struts1.x项目应用,为开发者提供了一个宝贵的参考资料库。 Struts1.x的核心组件包括: 1. **ActionServlet**:这是Struts框架的核心,作为Servlet拦截请求,根据配置文件(struts-...
Struts1.x是一个经典的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用程序。在这个"Struts1.x_Project.zip"压缩包中,我们可以看到一个使用Struts1.x...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在国际化(i18n)方面,Struts1提供了强大的支持,使得应用程序可以适应不同语言和地区的用户需求。以下是关于Struts1.x国际化...
以上是关于Struts1.x实现单文件、多文件上传和文件下载的基本步骤和原理。在实际开发中,还需要考虑错误处理、文件大小限制、安全性等因素,以确保功能的完整性和安全性。Struts1.x虽然现在已经被更新的框架如Spring...
Struts 1.x 是一个经典的Java Web开发框架,由Apache软件基金会开发,它极大地简化了MVC(模型-视图-控制器)架构的实现。如果你正在寻找如何搭建Struts 1.x的开发环境,以下是一些关键的知识点,以及这些指定的jar...
此外,Struts 2.x提供了更强大的拦截器机制以及丰富的插件生态系统,可以帮助开发者更轻松地实现文件上传下载等功能。 总之,本篇文章通过具体的代码示例详细介绍了如何在Struts 1.x框架中利用Apache POI库实现...
7. **国际化和本地化**:Struts1.x支持多语言,通过资源文件实现不同地区的文本和日期格式。 8. **异常处理**:通过配置ExceptionMapping,可以全局地处理应用程序中抛出的异常,提高程序的健壮性。 9. **...