博客
关于我
Struts2文件上传
阅读量:443 次
发布时间:2019-03-06

本文共 3006 字,大约阅读时间需要 10 分钟。

Struts文件上传和下载配置详细说明

一、文件上传配置

1.1 JSP页面配置

在JSP页面中,需配置文件上传表单,确保使用正确的表单类型和属性设置。以下是典型示例:

文件上传示例

1.2 Action类配置

文件上传Action类需继承ActionSupport,确保文件上传拦截器正常工作。以下是示例代码:

public class FileUpLoadAction extends ActionSupport {    private File image2;    private String image2FileName;    private List
listNames; public void setImage2(File file) { this.image2 = file; } public InputStream getInputStream() { return ServletActionContext.getServletContext().getResourceAsStream("/images/" + image2FileName); } public String execute() throws Exception { String realpath = ServletActionContext.getServletContext().getRealPath("/images"); if (image2 != null) { File savefile = new File(realpath + "/" + image2FileName); FileUtils.copyFile(image2, savefile); } listNames = findFileNames(realpath); return "success"; } private List
findFileNames(String path) { List
listNames = new ArrayList<>(); File file = new File(path); File[] files = file.listFiles(); for (File f : files) { if (f.isFile()) { listNames.add(f.getName()); } } return listNames; }}

1.3 Struts配置文件

在struts.xml中,配置文件上传拦截器和动作:

index.jsp
error.jsp
image/bmp,image/png,image/gif
102400
application/octet-stream
inputStream
attachment;fileName=${fileName}
4096

1.4 错误页面配置

错误页面用于显示文件上传失败时的错误信息:

    图片上传失败    

返回图片上传页

二、文件下载配置

2.1 Action类下载实现

下载Action类需提供文件名,返回输入流:

public class DownloadAction {    private String fileName;    public void setFileName(String fileName) {        this.fileName = fileName;    }    public InputStream getInputStream() {        return ServletActionContext.getServletContext().getResourceAsStream("/images/" + fileName);    }    public String execute() {        System.out.println("getFileName()=" + getFileName());        return "success";    }}

2.2 Struts配置文件

在struts.xml中配置下载动作:

application/octet-stream
inputStream
attachment;fileName=${fileName}
4096

三、web.xml配置

确保Struts过滤器正确配置:

struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/.action
struts2
/.jsp
index.jsp

以上配置详细说明了Struts文件上传和下载的实现方法,包括JSP页面、Action类、Struts配置文件和web.xml配置等内容。

转载地址:http://rgxyz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现精准计时(附完整源码)
查看>>
Objective-C实现系统时间戳(附完整源码)
查看>>
Objective-C实现累加校验和(附完整源码)
查看>>
Objective-C实现红黑树算法(附完整源码)
查看>>
Objective-C实现约分(化简比)(附完整源码)
查看>>
Objective-C实现约瑟夫环算法(附完整源码)
查看>>
Objective-C实现线性反馈移位寄存器LFSR(附完整源码)
查看>>
Objective-C实现线性查找算法(附完整源码)
查看>>
Objective-C实现线程池(附完整源码)
查看>>
Objective-C实现组合模式(附完整源码)
查看>>
Objective-C实现给定一个 NxN 网格,找出单元格 [0, 0] 中的老鼠是否可以到达单元格 [N-1, N-1] 中的目标算法(附完整源码)
查看>>
Objective-C实现给定一个句子,返回出现次数最多的单词算法(附完整源码)
查看>>
Objective-C实现给定一个数字数组,返回最大乘积数组中的 3 个数字算法(附完整源码)
查看>>
Objective-C实现给定一个整数 n,将最小步数返回到 1算法(附完整源码)
查看>>
Objective-C实现给定一串字符,返回出现频率最高的字符算法(附完整源码)
查看>>
Objective-C实现维吉尼亚密码加解密算法(附完整源码)
查看>>
Objective-C实现维吉尼亚密码加解密算法(附完整源码)
查看>>
Objective-C实现缓冲区(附完整源码)
查看>>
Objective-C实现缺陷的检测和识别加上自动矩形框(附完整源码)
查看>>
Objective-C实现罗马数字转十进制算法(附完整源码)
查看>>