栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

一次将多个文件上传到Struts2 @Action

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一次将多个文件上传到Struts2 @Action

我建议您使用Struts标记而不是普通的HTML标记,并扩展ActionSupport(返回其Result常量,而不是手动组成结果字符串,例如“result”)。

就是说,这是一个 经过测试的有效示例

注意:它不适用于旧版本的IE,但是由于您在自己的问题中使用的是HTML5,所以我敢打赌,您已经知道它了,并且您没有针对旧的IE。


JSP

<%@page contentType="text/html; charset=UTF-8" %><!DOCTYPE html><html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <title>Multiple File Upload Example</title>    </head>    <body>        <s:form action="upload" enctype="multipart/form-data" > <s:file name="files" multiple="multiple" /> <s:submit value="Upload files" />        </s:form>    </body></html>

关于这一

multiple="multiple"
部分的注意事项:即使在官方文档中,也
<s:file/>
未定义该标记的属性,因为Struts
2.1允许使用该属性,因为

允许的动态属性: true

这意味着它将按 原样
在JSP上绘制,而不受Struts的干扰。这样,Struts不需要在每次HTML5提供新功能时都更新其标签。你可以把

foo="bar"
太多的标签,允许动态属性(
<s:file/>
<s:textarea />
等等),你会发现它的HTML。

行动

public class Upload extends ActionSupport{    private List<File> files;    private List<String> filesContentType;    private List<String> filesFileName;        public String execute() throws Exception{        System.out.print("nn---------------------------------------");        int i=0;        for (File file : files){ System.out.print("nFile ["+i+"] "); System.out.print("; name:"         + filesFileName.get(i)); System.out.print("; contentType: " + filesContentType.get(i)); System.out.print("; length: "      + file.length()); i++;        }        System.out.println("n---------------------------------------n");        return SUCCESS;    }}

然后,您可能需要设置 Request最大大小以及每个单个文件最大大小

Struts.xml-最大分段大小:

<constant name="struts.multipart.maxSize" value="20000000" />

Struts.xml-文件的最大大小(全局到软件包,或本地到Action)

<interceptor-ref name="fileUpload">    <param name="maximumSize">10485760</param></interceptor-ref>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号