快速业务通道

Struts2教程7:上传任意多个文件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
title> </head> <body> <s:form action="upload" namespace="/test" enctype="multipart/form-data"> <s:file name="upload" label="输入要上传的文件名" /> <s:submit value="上传" /> </s:form> </body> </html>

也可以在success.jsp页中通过<s:property>获得文件的属性(文件名和文件内容类型),代码如下:

<s:property value="uploadFileName"/>

二、上传任意多个文件

在Struts2中,上传任意多个文件也非常容易实现。首先,要想上传任意多个文件,需要在客户端使用DOM技术生成任意多个<input type=”file” />标签。name属性值都相同。代码如下:

<html>
    <head>
        <script language="javascript">
function addComponent()
{
        var uploadHTML = document.createElement( "<input type=''file''  name=''upload''/>");
        document.getElementById("files").appendChild(uploadHTML);
        uploadHTML = document.createElement( "<p/>");
        document.getElementById("files").appendChild(uploadHTML);
}
</script>
    </head>
    <body>
        <input type="button" onclick="addComponent();" value="添加文件" />
        <br />
        <form onsubmit="return true;" action="/struts2/test/upload.action"
            method="post" enctype="multipart/form-data">
            <span id="files"> <input type=''file'' name=''upload'' />
                <p />
            </span>
            <input type="submit" value="上传" />
        </form>
    </body>
</html>

Struts2教程7:上传任意多个文件(3)

时间:2011-07-03 BlogJava nokiaguy

上面的javascript代码可以生成任意多个<input type=’file’>标签,name的值都为file(要注意的是,上面的javascript代码只适合于IE浏览器,firefox等其他浏览器需要使用他的代码)。至于Action类,和上传单个文件的Action类基本一至,只需要将三个属性的类型改为List即可。代码如下:

package action;
import java.io.*;
import com.opensymphony.xwork2.ActionSupport;
public class UploadMoreAction extends ActionSupport
{
    private java.util.List<File> uploads;
    private java.util.List<String> uploadsFileName;
    private java.util.List<String> uploadsContentType;
    public java.util.List<String> getUploadsFileName()
    {
        return uploadFileName;
    }
    public void setUploadFileName(java.util.List<String> fileNames)
    {
        this.uploadFileName = fileNames;
    }
    public java.util.List<File> getUploads()
    {
        return uploads;
    }
    public void setUploads(java.util.List<File> uploads)
    {
        this.uploads = uploads;
    }
    public void setUploadsContentType(java.util.List<String> contentTypes)
    {
        this.upl

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号