下面是个简单的例子
1. jsp网页
<html:form action="upload.do" method="post" enctype="multipart/form-data">
选择文件:<html:file property="picture" />
<html:submit>上传</html:submit>
</html:form>
2. form bean
在这里主要要做两件事,第一个当然是import相关的package。
import org.apache.struts.upload.*;
然后宣告一个相对应的字段,并为该字段生成getter和setter方法
private FormFile picture = null;
public FormFile getPicture() {
return picture;
}
public void setPicture(FormFile p) {
this.picture = p;
}
3. Action
UploadForm theForm = (UploadForm) form;
FormFile picture = theForm.getPicture();
String fileName= picture.getFileName();
String contentType = picture.getContentType();
String size = (picture.getFileSize() + " bytes");
//do something…
//可以用 InputStream 取得 picture.getInputStream
关于Struts文件上传的参数问题
在开发JDlog中的写日志上传附件时发现,Struts在对文件上传的处理有些不太完善。上传的参数最好封装在FormBean中,比如添加FormFile字段来处理,如果表单设置为multipart/form-data时那么struts会自动将上传文件域与formBean中的属性对应上,在execute中就可以直接进行处理,但是如果这个时候你在execute方法中无法通过request.getParameter来读取普通表单字段。该问题目前正在研究中......
Struts关于参数传递的问题
Struts框架中当Action执行完毕返回到一个页面是也就是ActionForward,怎么给这个页面传递一些参数呢?(我的意思是直接在页面后面加入参数而不是通过request/session等来传递,例如input.jsp?name=tom)此问题我正在研究中,有答案自然会跟贴上来。
分享到:
相关推荐
在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`拦截器,并设置允许的最大上传大小。例如: ```xml <package name="default" namespace="/" extends="struts-default"> ...
在进行文件上传时,HTML表单需要设置`enctype="multipart/form-data"`,这是为了指示浏览器以二进制流的形式发送文件内容。有三种不同的`enctype`值,但`multipart/form-data`是处理文件上传的必要选择。其他两种...
1. Struts1中的文件上传:在Struts1中,文件上传主要依赖于`commons-fileupload`和`commons-io`两个库。首先需要在`struts-config.xml`中配置`action`元素,启用流处理。然后在表单中使用`<html:file>`标签指定上传...
在 Struts 2 中实现文件上传,首先需要在 JSP 页面创建一个支持多部分数据的表单。例如,在 `FileUpload.jsp` 文件中,表单的 `method` 应设置为 `POST`,`enctype` 应设置为 `multipart/form-data`。此外,使用 `...
3. **Struts配置**:在`struts-config.xml`中配置对应的`<action>`元素,指定处理文件上传请求的`Action`类。 4. **Action类**:编写`Action`类,处理文件上传请求。这里需要使用第三方库如Apache Commons ...
在Struts1框架中实现文件上传功能是一项常见但又具有一定技术挑战的任务。下面将详细解析文件上传的实现过程,包括关键类的使用、文件处理逻辑以及异常处理等方面。 #### Struts1框架简介 Struts1是Apache Struts的...
本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...
1. **文件上传组件**:在Struts2中,我们通常使用`Commons FileUpload`库来处理文件上传。这个库提供了处理多部分HTTP请求的能力,是Java中处理文件上传的标准库。我们需要在Struts2配置文件中引入对应的拦截器`...
在Struts2框架中,文件上传是一个常见的功能,它允许用户通过Web应用程序上传文件到服务器。`codeFilter`在此上下文中通常是指一个自定义过滤器,用于在文件上传过程中进行额外的安全检查或处理。这个过滤器可以防止...
首先,你需要在Struts2配置文件(通常为struts.xml)中启用文件上传支持,这通常意味着添加`<constant name="struts.multipart.parser" value="jakarta"/>`配置,以确保框架能够解析multipart/form-data类型的请求,...
这个配置决定了在文件上传过程中,临时文件的存储位置。 3. **文件存储路径**:在Action中,使用`<param name="savePath">/upload</param>`指定保存文件的最终路径。在实际项目中,需要在Web应用的根目录下创建一个...
1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便可以直接访问HttpServletRequest对象,从中获取上传文件。 2. **添加...
在Struts1中实现多文件上传,需要在表单中使用多个`<html:file>`标签,每个标签对应一个待上传的文件。在后台Action中,需要遍历HttpServletRequest的`multipartRequest`属性,获取所有上传的文件并分别处理。 5. ...
在进行文件上传之前,我们需要在Struts的配置文件`struts-config.xml`中配置ActionForm Bean,指定它将处理文件上传。例如,可以创建一个名为`FileUploadForm`的ActionForm,并配置一个对应的`input`属性,以便在...
在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...
在这个“Struts1实现文件上传源码”实例中,我们将深入探讨如何利用Struts1框架来处理文件上传操作。 在Web应用中,文件上传功能是非常常见的,比如用户上传头像、提交文档等。Struts1提供了ActionForm类和一系列...
3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List<HttpServletFileWrapper>`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...
Struts2是一个强大的MVC框架,广泛应用于Java Web开发中,尤其在处理用户表单提交和文件上传等交互场景中表现出色。在这个“Struts2实现文件上传”的主题中,我们将深入探讨如何利用Struts2框架来实现在Web应用中的...