用webwork的fileUploadInterceptor实现文件上传功能
1、upload.jsp
<ww:form name="form1" action="upload.action" method="post" enctype="multipart/form-data">
<ww:file name="file" label="picture"/>
<ww:submit />
</ww:form>
2、DocUpload.java
public class DocUpload extends ActionSupport {
//upload file
/*file可以任意命名,但是其他两个变量的命名规则是file+ContentType和
file+FileName,或者如果命名这里不注意,则在变量的setter和getter那里就要注意了,一定要是getFileFileName和getFileContentType*/
private String fileContentType; //文件的类型
private String fileFileName; //文件名
private File file; //文件
private User user;
public String uploadFile()
{
Map session=ActionContext.getContext().getSession();
if(session!=null)
user=(User)session.get("user");
upload();
System.out.println("caption="+fileFileName);
return SUCCESS;
}
//上传文件
private void upload()
{
if(file!=null)
{
FileOutputStream outputStream;
try {
ResourceBundle rb = ResourceBundle.getBundle("config");
String fileDir = rb.getString("saveDir")+user.getId()+File.separator;
String filePath=fileDir+fileFileName;
try{
//创建目录
File f=new File(fileDir);
f.mkdirs();
}catch(Exception e)
{
e.printStackTrace();
}
outputStream = new FileOutputStream(filePath);
FileInputStream fileIn = new FileInputStream(file);
byte[] buffer = new byte[1024];
int len;
while ((len = fileIn.read(buffer)) > 0)
{
outputStream.write(buffer, 0, len);
}
fileIn.close();
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("uploadfile name="+fileFileName);
}
else
{
System.out.println("file is null!");
}
}
public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String contentType) {
this.fileContentType = contentType;
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileName) {
this.fileFileName = fileName;
}
3、xwork.xml中的相关配置
<action name="upload" class="DocUpload" method="uploadFile">
<interceptor-ref name="fileUpload" />
<interceptor-ref name="defaultStack" /> <!-- must be defaultStack -->
<result name="success">/sys/uploadsuccess.jsp</result>
<result name="input">/sys/upload.jsp</result>
</action>
4、webwork.properties的相关配置
webwork.multipart.parser=jakarta
#file upload temp save
webwork.multipart.saveDir=d:/temp
其中,webwork.multipart.parser是设置处理上传的类的,有cos jakarta pell 三种设置, jakarta是默认的设置;注意设置了相应的类要把相应的jar放进来;
webwork.multipart.saveDir是设置临时保存文件的文件夹;
5、config.properties用来设置上传图片的保存路径,不是webwork上传功能必须的配置
#windows
saveDir=D:/Tomcat 5.5/webapps/pxbn/upload/
#linux
#saveDir=/home/web/tomcat/webapps/pxbn/upload/
相关推荐
webwork_框架文档
WebWork_开发指南,详细的介绍了webwork得核心技术以及思想,
用webwork +spring实现的注册管理系统
webwork source,关于webwork学习非常不错的东西。
webwork是与struts2相似的一种web开发框架,这里这个demo可以让你轻松学习webwork基本的action配置、访问,为了区别可以在本空间中下载基于struts2框架的应用Struts2,加以对比,可以让你一下学习两种web框架。
webwork in action 源码,简单易读,适合新手上路!
webwork2例子,大家可以学习
WebWork_Result的配置文件详细分解,看了这个你再也不用发愁result的事了
jvc框架是参照struts,spring,webwork之后写出的控制框架
webwork入门的hellworld有问题的源文件
通过vue和django结合,实现了图书的增删改查
Webwork2的教程
webwork2.1.7
webwork in action_第1部分-WebWork简介_第2章-WebWork方式的Hello World
WebWork-2.1.7 中文开发文档-小白
无话可说,入门源文件
一个webwork2的指南
webwork-2.2.7_api_doc,chm webwork-2.2.7_api_doc,chm
webwork_moxie.rar相关ppt Webwork之Action配置详解 让webwork2零配置
初试WEBWORK 发生了 TOMCAT 与 JDK 冲突的问题 需要下载的JRA 再次提供给大家 xalan-j_2_7_1-bin-2jars 怎么用我想大家都知道了