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

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

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

    posts - 68, comments - 19, trackbacks - 0, articles - 1

    Struts2的上傳

    Posted on 2012-02-28 11:24 viery 閱讀(251) 評論(0)  編輯  收藏 所屬分類: Struts2
    Struts2自帶上傳下載的實現:
    1.編寫輸入頁面和結果頁面
    input.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <%@ taglib prefix="s"  uri="/struts-tags"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      
    <head>
        
    <base href="<%=basePath%>">
        
        
    <title>My JSP 'index.jsp' starting page</title>
        
    <meta http-equiv="pragma" content="no-cache">
        
    <meta http-equiv="cache-control" content="no-cache">
        
    <meta http-equiv="expires" content="0">    
        
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        
    <meta http-equiv="description" content="This is my page">
        
    <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        
    -->
        
        
    <script language="JavaScript">
        
    function addComponent()
        
    {
            
    var td=document.getElementById("files");
            
    var br=document.createElement("<br>");
            
    var input=document.createElement("input");
            
    var button=document.createElement("input");

            input.name
    ="uploads";
            input.type
    ="file";

            button.type
    ="button";
            button.value
    ="刪除";
            button.onclick
    =function(){
                td.removeChild(br);
                td.removeChild(input);
                td.removeChild(button);
            }

            td.appendChild(br);
            td.appendChild(input);
            td.appendChild(button);

          
        }



        
    </script>

        
      
    </head>
      
      
    <body>
         
    <input type="button" onclick="addComponent();" value="添加文件" />
            
    <br />
            
    <form onsubmit="return true;" action="upload"
                method
    ="post" enctype="multipart/form-data">
                
    <table>
                
    <tr>
                
    <td id="files">
              
    <input type='file' name='uploads' />
                
    </td>
               
    </tr>
               
    </table>
           
                
    <input type="submit" value="上傳" />
            
    </form>
          
    <s:fielderror/>
      
    </body>
    </html>
    js用于自動生成和控制刪除上傳控件的數量。
    result.jsp
     
      <body>
        This a struts page. <br>
      </body>

    2.配置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.custom.i18n.resources" value="message"></constant>
        
    <constant name="struts.i18n.encoding" value="gbk"/>
        
    <constant name="struts.multipart.saveDir" value="f:\"/>
        
    <constant name="struts.multipart.maxSize" value="2097152000"/>
        
    <package name="JsUpload" extends="struts-default">
            
    <action name="upload" class="org.vle.action.UploadAction">
                
    <result>/result.jsp</result>
                
    <result name="input">/upload.jsp</result>
                
    <interceptor-ref name="fileUpload">
                    
    <param name="maximumSize">10240000</param>
                    
    <param name="allowedTypes">application/vnd.ms-powerpoint</param>
                
    </interceptor-ref>
                
    <interceptor-ref name="defaultStack"></interceptor-ref>
            
    </action>
        
    </package>

    </struts>

    3實現action



    package org.vle.action;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Iterator;
    import java.util.List;

    import org.apache.struts2.ServletActionContext;

    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionSupport;

    public class UploadAction extends ActionSupport {
        
        
    private List<File> uploads;
        
    private List<String> uploadsFileName;
        
    private List<String>  uploadsContentType;

        

        
    public List<String> getUploadsContentType() {
            
    return uploadsContentType;
        }


        
    public void setUploadsContentType(List<String> uploadsContentType) {
            
    this.uploadsContentType = uploadsContentType;
        }


        
    public List<File> getUploads() {
            
    return uploads;
        }


        
    public void setUploads(List<File> uploads) {
            
    this.uploads = uploads;
        }


        



        
    public List<String> getUploadsFileName() {
            
    return uploadsFileName;
        }


        
    public void setUploadsFileName(List<String> uploadsFileName) {
            
    this.uploadsFileName = uploadsFileName;
        }




        @Override
        
    public String execute() throws Exception {
            
                
    for(int i=0;i<uploads.size();i++){
                    InputStream is
    =new FileInputStream(uploads.get(i));
                    String name
    =uploadsFileName.get(i);
                    String type
    =uploadsContentType.get(i);
                    System.out.println(type);
                    String path
    =ServletActionContext.getRequest().getRealPath("/temp");
                    File f
    =new File(path,name);
                    File temp
    =new File(path);
                    
    if(!temp.exists()){
                        temp.mkdirs();
                    }

                    OutputStream os
    =new FileOutputStream(f);
                    
    byte[] b=new byte[1024];
                    
    int len;
                    
    while((len=is.read(b))>0){
                        os.write(b, 
    0, len);
                    }

                    os.close();
                    is.close();
                }

                
        
            
            
            
    return Action.SUCCESS;
        }

    }




    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲AV第一成肉网| 91在线手机精品免费观看| 亚洲国产精品一区二区久久hs| 久久99免费视频| 亚洲色一区二区三区四区 | 国产精品黄页在线播放免费| 一个人免费观看www视频| 亚洲神级电影国语版| 免费一级特黄特色大片在线观看| 久久免费国产精品一区二区| 亚洲欧美aⅴ在线资源| 久久亚洲精品视频| 香蕉视频在线观看免费国产婷婷| 伊人久久大香线蕉免费视频| 日韩亚洲国产高清免费视频| 亚洲不卡中文字幕无码| 国产麻豆剧传媒精品国产免费 | 免费看国产精品麻豆| 日本免费一区二区三区| 日韩精品无码永久免费网站| 亚洲精品综合久久中文字幕| 亚洲日韩精品无码专区网站| 毛片免费全部播放一级| 久久精品私人影院免费看| 在线精品自拍亚洲第一区| 亚洲一区电影在线观看| 久久伊人久久亚洲综合| 亚洲色偷偷综合亚洲AV伊人| 免费观看的毛片大全| 亚洲精品免费在线观看| 中文在线免费看视频| 黄色网址在线免费观看| 亚洲熟妇AV一区二区三区浪潮| 久久久无码精品亚洲日韩按摩| 亚洲中文字幕久久精品无码APP | 国产裸模视频免费区无码| 亚洲黄色片免费看| 免费人成网站在线观看不卡| 成人嫩草影院免费观看| 亚洲av中文无码乱人伦在线观看 | 亚洲精品视频久久|