如何在Struts中进行文件上传

下面是个简单的例子
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)此问题我正在研究中,有答案自然会跟贴上来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值