您的位置:首页 > 编程语言 > Java开发

如何在Struts中进行文件上传

2006-11-13 23:42 441 查看
下面是个简单的例子
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)此问题我正在研究中,有答案自然会跟贴上来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: