<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Struts2文件上傳功能開發(fā)

    技術(shù)要點(diǎn)
    本節(jié)代碼詳細(xì)說明文件上傳功能的開發(fā)流程,介紹知識點(diǎn)如下:
    1. 文件上傳頁面和顯示上傳成功頁面代碼內(nèi)容。
    2. UploadAction類中實現(xiàn)上傳功能方法和上傳文件屬性介紹。
    3. struts.xml中UploadAction配置,以及字符編碼、文件臨時存放路徑配置。
    4. 上傳后所處路徑和最終上傳成功后效果展示。
    <!---------------------文件名:upload.jsp----------------->
    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
        
    <head>
            
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            
    <title>上傳文件</title>
        
    </head>
        
    <body>
        
    <!-- 上傳文件表單定義 -->
        
    <s:form action="upload" method="post" enctype="multipart/form-data">
            
    <tr>
        
    <!-- 上傳文件標(biāo)簽定義 -->
        
    <td>上傳文件:<s:file name="file"></s:file></td>
        
    </tr>
        
    <tr>
        
    <td>再次上傳文件:<s:file name="file"></s:file></td>
        
    </tr>
        
    <tr>
        
    <td align="left"><s:submit name="submit" value="提交"></s:submit></td>
        
    </tr>
        
    </s:form>
        
    </body>
    </html>
     
    <!-------------------上傳文件成功后結(jié)果頁面文件名:result.jsp ----------------->
    <%@taglib prefix="s" uri="/struts-tags"%>
    <html>
        
    <head>
            
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            
    <title>上傳結(jié)果</title>
        
    </head>
        
    <body>
            上傳文件:
            
    <!-- 顯示上傳成功文件名 -->
            
    <s:property value="fileFileName" />
        
    </body>
    </html>
    <!------------------文件名:UploadAction.java ------------------>
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.List;

    import org.apache.struts2.ServletActionContext;
    import com.opensymphony.xwork2.ActionSupport;

    //文件上傳Action
    public class UploadAction extends ActionSupport {
        
    //上傳文件存放路徑
        private final static String UPLOADDIR = "/upload";
        
    //上傳文件集合
        private List<File> file;
        
    //上傳文件名集合
        private List<String> fileFileName;
        
    //上傳文件內(nèi)容類型集合
        private List<String> fileContentType;

        
    public List<File> getFile() {
            
    return file;
        }


        
    public void setFile(List<File> file) {
            
    this.file = file;
        }


        
    public List<String> getFileFileName() {
            
    return fileFileName;
        }


        
    public void setFileFileName(List<String> fileFileName) {
            
    this.fileFileName = fileFileName;
        }


        
    public List<String> getFileContentType() {
            
    return fileContentType;
        }


        
    public void setFileContentType(List<String> fileContentType) {
            
    this.fileContentType = fileContentType;
        }


        
    public String execute() throws Exception {
            
    for (int i = 0; i < file.size(); i++{
                
    //循環(huán)上傳每個文件
                uploadFile(i);
            }

            
    return "success";
        }


        
    //執(zhí)行上傳功能
        private void uploadFile(int i) throws FileNotFoundException, IOException {
            
    try {
                InputStream in 
    = new FileInputStream(file.get(i));
                String dir 
    = ServletActionContext.getRequest().getRealPath(UPLOADDIR);
                File uploadFile 
    = new File(dir, this.getFileFileName().get(i));
                OutputStream out 
    = new FileOutputStream(uploadFile);
                
    byte[] buffer = new byte[1024 * 1024];
                
    int length;
                
    while ((length = in.read(buffer)) > 0{
                    out.write(buffer, 
    0, length);
                }


                in.close();
                out.close();
            }
     catch (FileNotFoundException ex) {
                ex.printStackTrace();
            }
     catch (IOException ex) {
                ex.printStackTrace();
            }

        }

    }
    struts.xml配置文件中有關(guān)文件上傳的配置:
    <!--------------------文件名:struts.xml------------------->
    <struts>
     <!-- 系統(tǒng)常量定義,定義上傳文件字符集編碼 -->
     <constant name="struts.i18n.encoding" value="gb2312"></constant>
     <!-- 系統(tǒng)常量定義,定義上傳文件臨時存放路徑 -->
     <constant name="struts.multipart.saveDir" value="c:\"></constant>
     <!-- Action所在包定義 -->
     <package name="C04.4" extends="struts-default">
      <!-- Action名字,類以及導(dǎo)航頁面定義 -->
      <!-- 通過Action類處理才導(dǎo)航的的Action定義 -->
      <action name="upload" class="action.UploadAction">
       <result name="input">/jsp/upload.jsp</result>
       <result name="success">/jsp/result.jsp</result>
      </action>
     </package>
    </struts>

    posted on 2012-11-29 23:47 youngturk 閱讀(319) 評論(0)  編輯  收藏 所屬分類: JSP隨筆Java基礎(chǔ)struts2servlet

    <2012年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導(dǎo)航

    統(tǒng)計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結(jié)構(gòu)
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學(xué)習(xí)

    Flex學(xué)習(xí)

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲宅男天堂a在线| avtt亚洲天堂| 黄在线观看www免费看| 免费在线看污视频| 国产日韩AV免费无码一区二区| 成人一区二区免费视频| 黄色片免费在线观看| 久久免费视频99| 久久午夜伦鲁片免费无码| 中国人xxxxx69免费视频| 国内精自视频品线六区免费| 真人做A免费观看| 思思99re66在线精品免费观看| 在线观看免费为成年视频| 国产免费av一区二区三区| 亚洲AV无码乱码在线观看牲色| 亚洲日本中文字幕天堂网| 亚洲精品乱码久久久久久自慰| 亚洲电影一区二区三区| 亚洲特级aaaaaa毛片| 亚洲日韩久久综合中文字幕| 小说区亚洲自拍另类| caoporm超免费公开视频| 在线观看特色大片免费网站| 99热这里有免费国产精品| 免费可以看黄的视频s色| 永久黄网站色视频免费直播| 亚洲第一视频在线观看免费| 亚洲伊人久久精品影院| 中文字幕亚洲综合久久2| 亚洲熟妇AV一区二区三区宅男| 精品特级一级毛片免费观看| 久久久精品视频免费观看| 日韩精品免费在线视频| 精品久久久久成人码免费动漫| 国产精品无码一二区免费 | 中国极品美軳免费观看| 一级毛片免费观看不卡的| 久久久久久久久免费看无码| 又粗又硬又大又爽免费视频播放| 精品亚洲综合久久中文字幕|