上传文件页面:fileUpload.jsp
<%@ page contentType="text/html; CHARSET=GBK"%>
<%@ taglib uri="webwork" prefix="ww"%>
<html>
<head>
<title>My JSF 'fileupload.jsp' starting page</title>
</head>
<body>
<ww:form method="post" enctype="multipart/form-data"
action="fileupload.action">
<ww:file label="File" name="file" />
<ww:submit value="Upload" />
</ww:form>
</body>
</html>
文件上传Action:FileUploadAction.java
package com.zxm.webwork.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.opensymphony.xwork.ActionSupport;
public class FileUploadAction extends ActionSupport {
private String name;
File file;
//String fileContentType;
String fileFileName;
public String execute() throws Exception {
// 以下为保存文件,视情况修改,需要先在D盘建立temp文件夹
if (null != file) {
FileOutputStream outputStream = new FileOutputStream(
"d:/temp/demo_" + fileFileName);
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();
}
return SUCCESS;
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
/* public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}*/
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
配置x-work.xml文件:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="fileUpload" extends="webwork-default">
<interceptors>
<interceptor name="fileUpload"
class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
<!-- <param name="allowedTypes">-->
<!-- image/jpeg/jpg/bmp/txt/tmp-->
<!-- </param>-->
<!-- <param name="maximumSize">10000000</param>-->
</interceptor>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="fileUploadStack" />
<action name="fileupload"
class="com.zxm.webwork.test.FileUploadAction">
<result name="success">success.jsp</result>
<result name="input">input.jsp</result>
</action>
</package>
</xwork>
配置webwork.properties文件:
webwork.i18n.encoding=GBK
webwork.tag.altSyntax=true
#webwork.multipart.saveDir=/test
webwork.multipart.parser=jakarta
webwork.multipart.maxSize=2097152
webwork.locale=zh_CN
用到的jar包:
webwork-2.2.7.jar
commons-logging.jar
freemarker.jar
javamail.jar
javassist.jar
ognl.jar
oscore.jar
rife-continuations.jar
xwork.jar
[b][color=red]commons-fileupload-1.2.1.jar
commons-io-1.4.jar[/color][/b]
<%@ page contentType="text/html; CHARSET=GBK"%>
<%@ taglib uri="webwork" prefix="ww"%>
<html>
<head>
<title>My JSF 'fileupload.jsp' starting page</title>
</head>
<body>
<ww:form method="post" enctype="multipart/form-data"
action="fileupload.action">
<ww:file label="File" name="file" />
<ww:submit value="Upload" />
</ww:form>
</body>
</html>
文件上传Action:FileUploadAction.java
package com.zxm.webwork.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.opensymphony.xwork.ActionSupport;
public class FileUploadAction extends ActionSupport {
private String name;
File file;
//String fileContentType;
String fileFileName;
public String execute() throws Exception {
// 以下为保存文件,视情况修改,需要先在D盘建立temp文件夹
if (null != file) {
FileOutputStream outputStream = new FileOutputStream(
"d:/temp/demo_" + fileFileName);
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();
}
return SUCCESS;
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
/* public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}*/
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
配置x-work.xml文件:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="fileUpload" extends="webwork-default">
<interceptors>
<interceptor name="fileUpload"
class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
<!-- <param name="allowedTypes">-->
<!-- image/jpeg/jpg/bmp/txt/tmp-->
<!-- </param>-->
<!-- <param name="maximumSize">10000000</param>-->
</interceptor>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="fileUploadStack" />
<action name="fileupload"
class="com.zxm.webwork.test.FileUploadAction">
<result name="success">success.jsp</result>
<result name="input">input.jsp</result>
</action>
</package>
</xwork>
配置webwork.properties文件:
webwork.i18n.encoding=GBK
webwork.tag.altSyntax=true
#webwork.multipart.saveDir=/test
webwork.multipart.parser=jakarta
webwork.multipart.maxSize=2097152
webwork.locale=zh_CN
用到的jar包:
webwork-2.2.7.jar
commons-logging.jar
freemarker.jar
javamail.jar
javassist.jar
ognl.jar
oscore.jar
rife-continuations.jar
xwork.jar
[b][color=red]commons-fileupload-1.2.1.jar
commons-io-1.4.jar[/color][/b]