基于Struts2的文件上传
2016-03-06 00:00
465 查看
摘要: 基于Struts2的文件上传
上传表单
如果使用struts标签的话,那么只需设置name就可以了.
BaseAction.java
这个是一个基类,只是为了是代码看起来整洁
fileUploadAction.java
注意:这个里面不可以有名字类似于file\upload的变量,否则会报错.而且File的名字要和表单的文件元素的name同名
struts.xml
最后需要在这里配置下就OK了,param的值就是上传文件的WEB目录
上传表单
<form method="post" action="upload.action" enctype="multipart/form-data"> <input type="file" name="uf"/> <input type="submit" value="Upload" /> </form>
如果使用struts标签的话,那么只需设置name就可以了.
BaseAction.java
import com.opensymphony.xwork2.ActionSupport; import java.util.Map; import javax.servlet.ServletContext; import org.apache.struts2.interceptor.SessionAware; import org.apache.struts2.util.ServletContextAware; public class BaseAction extends ActionSupport implements ServletContextAware { protected ServletContext centext; public void setServletContext(ServletContext centext) { this.centext = centext; } }
这个是一个基类,只是为了是代码看起来整洁
fileUploadAction.java
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.commons.io.IOUtils; import org.paboo.BaseAction; public class fileUploadAction extends BaseAction { private String fileUploadPath; private String ufFileName; private File uf; // Getter&Setter @Override public String execute() throws Exception { String path = super.centext.getRealPath(fileUploadPath); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(uf)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(path, ufFileName))); IOUtils.copy(bis, bos); bis.close(); bos.close(); return SUCCESS; } }
注意:这个里面不可以有名字类似于file\upload的变量,否则会报错.而且File的名字要和表单的文件元素的name同名
struts.xml
<action name="upload" class="org.paboo.uac.fileUploadAction"> <param name="fileUploadPath">upload</param> <result name="success" type="redirect">upload/</result> </action>
最后需要在这里配置下就OK了,param的值就是上传文件的WEB目录
相关文章推荐
- Java四种引用:强软弱虚
- Java中print、printf、println的区别
- Java编程思想重点笔记
- Java transient关键字使用
- java学习资源汇总
- elipse中批量导入项目
- elipse中批量导入项目
- Java并发编程系列(一):Java并发内存模型
- Java标识符命名。。。
- 20145238-荆玉茗 《Java程序设计》第一周学习总结
- 20145326《Java程序设计》第一周学习总结
- struts2的s:iterator 标签 详解<转>
- 下载jdk
- 尝试编辑java程序
- Java复习(1)-字符串,switch,数组
- Java 格式化(数字和字符串)
- leetcode:Jump Game II 【Java】
- Java关键字介绍之this与super
- 局部更新 java web 的文件
- java反射和静态代理模式