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

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

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

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Struts2上傳文件示例

    Posted on 2007-10-23 12:22 詩(shī)特林 閱讀(25099) 評(píng)論(20)  編輯  收藏 所屬分類(lèi): Struts
                                                 Struts2上傳文件示例

    源代碼:Struts2Upload.rar

    1.包如下:請(qǐng)自行下載


    2.Action類(lèi)

    package com.sterning;

    import java.io.File;

    import javax.servlet.ServletContext;

    import org.apache.commons.io.FileUtils;
    import org.apache.struts2.util.ServletContextAware;

    import com.opensymphony.xwork2.ActionSupport;

    public class StrutsFileUpload extends ActionSupport implements
            ServletContextAware 
    {

        
    private File upload;// 實(shí)際上傳文件

        
    private String uploadContentType; // 文件的內(nèi)容類(lèi)型

        
    private String uploadFileName; // 上傳文件名

        
    private String fileCaption;// 上傳文件時(shí)的備注

        
    private ServletContext context;

        
    public String execute() throws Exception {

            
    try {
                
                String targetDirectory 
    = context.getRealPath("/upload");
                String targetFileName 
    = uploadFileName;
                File target 
    = new File(targetDirectory, targetFileName);
                FileUtils.copyFile(upload, target);            
                
                setUploadFileName(target.getPath());
    //保存文件的存放路徑
            }
     catch (Exception e) {

                addActionError(e.getMessage());

                
    return INPUT;
            }


            
    return SUCCESS;

        }


        
    public String getFileCaption() {
            
    return fileCaption;
        }


        
    public void setFileCaption(String fileCaption) {
            
    this.fileCaption = fileCaption;
        }


        
    public File getUpload() {
            
    return upload;
        }


        
    public void setUpload(File upload) {
            
    this.upload = upload;
        }


        
    public String getUploadContentType() {
            
    return uploadContentType;
        }


        
    public void setUploadContentType(String uploadContentType) {
            
    this.uploadContentType = uploadContentType;
        }


        
    public String getUploadFileName() {
            
    return uploadFileName;
        }


        
    public void setUploadFileName(String uploadFileName) {
            
    this.uploadFileName = uploadFileName;
        }


        
    public void setServletContext(ServletContext context) {
            
    this.context = context;
        }


    }


    3.頁(yè)面

    上傳頁(yè)面:upload.jsp
    <%@ page language="java" contentType="text/html; charset=GB2312"%>   
    <%@ taglib prefix="s" uri="/struts-tags" %>   
    <html>
        
    <head>
            
    <title>文件上傳示例</title>
            
    <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
                type="text/css" />

        
    </head>

        
    <body>

            
    <s:actionerror />
            
    <s:fielderror />
            
    <s:form action="doUpload" method="POST" enctype="multipart/form-data">
                
    <tr>
                    
    <td colspan="2">
                        
    <h1>
                            文件上傳示例
                        
    </h1>
                    
    </td>
                
    </tr>

                
    <s:file name="upload" label="上傳的文件" />
                
    <s:textfield name="fileCaption" label="備注" />
                
    <s:submit value="上   傳"/>
            
    </s:form>
        
    </body>
    </html>

    上傳成功頁(yè)面:upload_success.jsp
    <%@ page language="java" contentType="text/html; charset=GB2312"%>  
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
        
    <head>
            
    <title>上傳成功</title>
            
    <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
                type="text/css" />
        
    </head>

        
    <body>
            
    <table class="wwFormTable">
                
    <tr>

                    
    <td colspan="2">
                        
    <h1>
                            上傳成功
                        
    </h1>
                    
    </td>
                
    </tr>

                
    <tr>
                    
    <td class="tdLabel">
                        
    <label for="doUpload_upload" class="label">
                            內(nèi)容類(lèi)型:
                        
    </label>
                    
    </td>
                    
    <td>
                        
    <s:property value="uploadContentType" />
                    
    </td>
                
    </tr>

                
    <tr>
                    
    <td class="tdLabel">
                        
    <label for="doUpload_upload" class="label">
                            文件路徑:
                        
    </label>
                    
    </td>
                    
    <td>
                        
    <s:property value="uploadFileName" />
                    
    </td>
                
    </tr>


                
    <tr>
                    
    <td class="tdLabel">
                        
    <label for="doUpload_upload" class="label">
                            臨時(shí)文件:
                        
    </label>
                    
    </td>
                    
    <td>
                        
    <s:property value="upload" />
                    
    </td>
                
    </tr>

                
    <tr>
                    
    <td class="tdLabel">
                        
    <label for="doUpload_upload" class="label">
                            備注:
                        
    </label>
                    
    </td>
                    
    <td>
                        
    <s:property value="fileCaption" />
                    
    </td>
                
    </tr>


            
    </table>

        
    </body>
    </html>

    4.struts.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd"
    >

    <struts>
        
    <constant name="struts.devMode" value="true" />
        
    <constant name="struts.i18n.encoding" value="GB2312" />
     
        
    <package name="NG" namespace="/" extends="struts-default">
            
    <action name="showUpload">
                
    <result>/upload.jsp</result>
            
    </action>
            
            
    <action name="doUpload" class="com.sterning.StrutsFileUpload">
                
    <result name="input">/upload.jsp</result>
                
    <result>/upload_success.jsp</result>
            
    </action>
        
    </package>

    </struts>


    5.web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4"
        xmlns
    ="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

        
    <display-name>customization</display-name>

        
    <filter>
            
    <filter-name>struts-cleanup</filter-name>
            
    <filter-class>
                org.apache.struts2.dispatcher.ActionContextCleanUp
            
    </filter-class>
        
    </filter>  


        
    <filter>
            
    <filter-name>struts2</filter-name>
            
    <filter-class>
                org.apache.struts2.dispatcher.FilterDispatcher
            
    </filter-class>
        
    </filter>


        
    <filter-mapping>
            
    <filter-name>struts-cleanup</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping> 


        
    <filter-mapping>
            
    <filter-name>struts2</filter-name>
            
    <url-pattern>/*</url-pattern>
        
    </filter-mapping>

    </web-app>




    評(píng)論

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2007-10-24 12:03 by 快譯站
    總結(jié)的不錯(cuò)
    java集中營(yíng)http://java.co.cc誠(chéng)意邀請(qǐng)您做開(kāi)源技術(shù)struts2.0

    同時(shí)歡迎您加入java技術(shù)QQ群23133419

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2007-10-24 12:05 by 快譯站
    java集中營(yíng)地址 http://java8.co.cc

    # re: Struts2上傳文件示例[未登錄](méi)  回復(fù)  更多評(píng)論   

    2007-10-26 09:59 by apple0668
    下載源碼加進(jìn)相關(guān)的包,一提交就發(fā)射404錯(cuò)誤!不知道是什么原因!連包跟源碼發(fā)我一份,謝謝!email:chensp1230@163.com

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2007-11-14 11:19 by study
    下載源碼加進(jìn)相關(guān)的包(除commons-fileupload-1.1.1 ,commons-io-1.1的版本有點(diǎn)區(qū)別之外,其它完全相同)一提交就產(chǎn)生404錯(cuò)誤!不知什么原因!能否連包跟源碼發(fā)我一份,謝謝! email:zggzspring@163.com

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2007-11-25 16:56 by shaomin
    不錯(cuò)
    謝謝分享
    下來(lái)試試

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2008-01-04 21:43 by 凌晨風(fēng)
    樓主寫(xiě)的不錯(cuò),這個(gè)例子好像是Struts包里的源碼,但是我不知道上傳成功后怎樣看這個(gè)文件,比如我傳了一張圖片,我怎樣才能看到我傳的圖片呢,上傳的是一個(gè)tmp的虛擬文件,我也弄不清楚,幫忙啊!

    # re: Struts2上傳文件示例[未登錄](méi)  回復(fù)  更多評(píng)論   

    2008-01-17 09:17 by yang
    請(qǐng)問(wèn)如何控制上傳文件的類(lèi)型和大小! 謝謝!!!

    # re: Struts2上傳文件示例[未登錄](méi)  回復(fù)  更多評(píng)論   

    2008-01-17 17:04 by yang
    請(qǐng)問(wèn)如何控制上傳文件的類(lèi)型和大小! 謝謝!!!

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2008-03-21 10:08 by 花花
    請(qǐng)問(wèn)要上傳視頻文件用這個(gè)能行嗎
    視頻至少都有5、6M的 這個(gè)好像只能傳2M以?xún)?nèi)的
    怎么能把限制設(shè)大點(diǎn)兒 或者去掉限制?

    # re:   回復(fù)  更多評(píng)論   

    2009-03-18 11:35 by fjj
    樓主,能把Struts2上傳文件示例的所需jar發(fā)給我不?謝謝!
    fanjj_023@126.com

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2009-03-19 16:41 by fanjj_023
    樓主,為什么我測(cè)試時(shí)tomcat會(huì)報(bào)/WEB-INF/web.xml not found,還有jsp也報(bào)異常,提示下面這句
    <link href=" <s:url value="/css/examplecss"/>"rel="stylesheet" type="text/css"/> 為什么呀?

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2009-05-07 10:50 by 打哈十分客戶(hù)
    一個(gè)個(gè)只會(huì)叫,都不會(huì)自己想辦法啊!!!lz講的很透徹!!!

    # re: Struts2上傳文件示例[未登錄](méi)  回復(fù)  更多評(píng)論   

    2009-05-19 11:19 by aaa
    看到 上面那些 有錯(cuò)誤的.感覺(jué)好笑,

    這么差的自學(xué)能力,還學(xué)什么 Java ?

    LZ 的這個(gè)例子,應(yīng)用太簡(jiǎn)單了,文件類(lèi)型,大小,多文件的上傳

    以及 Action 類(lèi)里面引用了 Servlet ,這些都還沒(méi)處理呀...

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2009-05-27 12:05 by ss
    水平太低不懂就問(wèn),有錯(cuò)嗎?難道你們一生下來(lái)就會(huì)..從沒(méi)問(wèn)過(guò)一些簡(jiǎn)單的問(wèn)題?

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2009-06-10 22:02 by kinble
    不知道為什么總是報(bào)錯(cuò):
    java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
    通過(guò)網(wǎng)上查找,都說(shuō)是缺少了commons-io包,但我很肯定我是已經(jīng)導(dǎo)進(jìn)去的了!

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2010-02-24 11:20 by 一根煙
    借鑒了你的代碼 謝謝

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2010-05-31 15:31 by 張三
    可以啊

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2011-05-19 22:54 by ....
    不就是把struts2教程里的東西拷進(jìn)來(lái)了嘛,又不是你自己寫(xiě)的

    # re: Struts2上傳文件示例[未登錄](méi)  回復(fù)  更多評(píng)論   

    2012-02-14 15:39 by kevin
    測(cè)試好用 攢人品感謝樓主~~

    # re: Struts2上傳文件示例  回復(fù)  更多評(píng)論   

    2012-03-16 08:15 by zhen
    Java程序員之家 QQ:群號(hào)2218986 歡迎大家加入
    主站蜘蛛池模板: 免费jjzz在在线播放国产| 精品国产无限资源免费观看| 亚洲中文字幕无码一去台湾| 免费黄网站在线看| 久久青草亚洲AV无码麻豆| 人妻在线日韩免费视频| 亚洲AV日韩AV高潮无码专区| 中文字幕乱码免费看电影| 亚洲AV无码一区二区乱子伦| 99久久99久久免费精品小说| 亚洲精品国产福利片| 成年丰满熟妇午夜免费视频| 亚洲人av高清无码| 免费一级国产生活片| 国产免费区在线观看十分钟| 亚洲国产精品久久久天堂| 一级毛片aaaaaa免费看| 亚洲一级毛片免费看| 在线观看成人免费视频| 免费激情网站国产高清第一页 | 亚洲国产成人片在线观看无码 | 免费一级一片一毛片| 三年片在线观看免费观看大全中国| 亚洲国产成人a精品不卡在线| 国产免费人成视频尤勿视频| 久久精品国产亚洲综合色| 日韩免费人妻AV无码专区蜜桃| 亚洲欧洲自拍拍偷综合| 成人看的午夜免费毛片| 曰批免费视频播放在线看片二| 国产精品亚洲片在线观看不卡 | aa午夜免费剧场| 婷婷亚洲综合五月天小说| 免费AA片少妇人AA片直播| 久久精品国产亚洲AV| 国产亚洲美日韩AV中文字幕无码成人 | 日韩在线一区二区三区免费视频| 亚洲AV无码专区国产乱码4SE| 综合在线免费视频| 国产精品观看在线亚洲人成网| 精品亚洲一区二区三区在线观看 |