struts2中标签的使用

阅读更多

fileTag.jsp

 

 

 

 

   

 

   

 

 

 

 

struts.xml

 

 

 

 

         

 

                   

 

                              

 

                     

 

                      image/bmp,image/png,image/gif,image/jpeg,image/jpg,application/msword,text/plain  

 

                     

 

                              

 

                   2000000000  

 

                   

 

                   

 

   /taguser/result_fileTag.jsp

 

   /taguser/fileTag.jsp

 

  

 

 

 

UploadAction.java

 

 

 

public class UploadAction extends ActionSupport {

 

 // 封装单个上传文件域的属性

 

 private File upload;

 

 // 封装单个上传文件类型的属性

 

 private String uploadContentType;

 

 // 封装单个上传文件名的属性

 

 private String uploadFileName;

 

 // 动态设置上传文件保存地址

 

 private String savePath;

 

 public String getSavePath() {

 

  // return ServletActionContext.getRequest().getRealPath("");

 

  String onload = "C:\\report\\cached\\";

 

  HttpServletRequest request = ServletActionContext.getRequest();

 

  request.setAttribute("onload", onload);

 

  // return ServletActionContext.getRequest().getContextPath();

 

  return onload;

 

 }

 

 public void setSavePath(String savePath) {

 

  this.savePath = savePath;

 

 }

 

 // 上传单个文件的文件类型的setter和getter方法

 

 public void setUploadContentType(String uploadContentType) {

 

  this.uploadContentType = uploadContentType;

 

 }

 

 public String getUploadContentType() {

 

  return (this.uploadContentType);

 

 }

 

 // 上传单个文件的文件名的setter和getter方法

 

 public void setUploadFileName(String uploadFileName) {

 

  this.uploadFileName = uploadFileName;

 

 }

 

 public String getUploadFileName() {

 

  return (this.uploadFileName);

 

 }

 

 public File getUpload() {

 

  return upload;

 

 }

 

 public void setUpload(File upload) {

 

  this.upload = upload;

 

  // savePath = ServletActionContext .getRequest().getRealPath("");

 

 }

 

 // 上传单个文件

 

 public String upload() {

 

  try {

 

   // 以服务器的文件保存地址和原文件名建立上传文件输出流

 

   System.out.println(ServletActionContext

 

     .getRequest().getRealPath("")

 

     + File.separator

 

     + "images"

 

     + File.separator

 

     + getUploadFileName()+"路径");

 

   FileOutputStream fos = new FileOutputStream(ServletActionContext

 

     .getRequest().getRealPath("")

 

     + File.separator

 

     + "images"

 

     + File.separator

 

     + getUploadFileName());

 

   // 以上传文件建立一个文件上传流

 

   FileInputStream fis = new FileInputStream(getUpload());

 

   // 将上传文件的内容写入服务器

 

   byte[] buffer = new byte[1024];

 

   int len = 0;

 

   while ((len = fis.read(buffer)) > 0) {

 

    fos.write(buffer, 0, len);

 

   }

 

  } catch (Exception e) {

 

   e.printStackTrace();

 

  }

 

  return SUCCESS;

 

 }

 

}

 

result_fileTag.jsp

 

 

 

       文件路径:/images/

 

              

 

              

 

         

 

         文件为:

 

 

 

 

 

上传多个文件

 

fileuploads.jsp

 

 

 

 

               

 

               

 

               

 

                        

 

                        

 

                        

 

                       

 

               

 

 

 

struts.xml

 

 

 

 

         

 

              

 

                  

 

                  

 

                    image/bmp,image/png,image/gif,image/jpeg,image/pjpeg,image/jpg,application/msword,text/plain

 

                  

 

                  

 

                  

 

              

 

              

 

   /taguser/fileuploadoutput.jsp

 

   /taguser/fileuploads.jsp

 

  

 

 

 

UploadActions.java

 

 

 

public class UploadActions extends ActionSupport {

 

 

 

 //封装多个上传文件域的属性  

 

    private List upload = new ArrayList();  

 

    // 封装多个上传文件类型的属性  

 

    private List uploadContentType = new ArrayList();  

 

    // 封装多个上传文件名的属性  

 

    private List uploadFileName = new ArrayList();  

 

      

 

    //动态设置上传文件保存地址  

 

    private String savePath;  

 

      

 

    public String getSavePath() {

 

     System.out.println("getSavePath()!!!!!");

 

     

 

     System.out.println(savePath+"++++++++++++++++++++++++++++++");

 

        return savePath;  

 

    }  

 

 

 

    public void setSavePath(String savePath) {

 

     System.out.println("setSavePath()!!!!!");

 

        this.savePath = savePath;

 

       // savePath = "E:\\butone\\struts2.2\\WebRoot\\images\\"+getUploadFileName();

 

    }    

 

 

 

    //上传多个文件对应文件内容的setter和getter方法  

 

    public List getUpload() {  

 

        return upload;  

 

    }  

 

    public void setUpload(List upload) {

 

     System.out.println("----------------    setUpload(List upload)     ----------------");

 

        this.upload = upload;  

 

    }  

 

      

 

    //  上传多个文件的文件类型setter和getter方法   

 

    public List getUploadContentType() {  

 

        return uploadContentType;  

 

    }  

 

    public void setUploadContentType(List uploadContentType) {  

 

        this.uploadContentType = uploadContentType;  

 

    }  

 

 

 

    // 上传多个文件的文件名的setter和getter方法   

 

    public List getUploadFileName() {  

 

        return uploadFileName;  

 

    }  

 

    public void setUploadFileName(List uploadFileName) {  

 

        this.uploadFileName = uploadFileName;  

 

    }  

 

 

 

    public String upload() {  

 

     

 

     //savePath = "E:\\butone\\struts2.2\\WebRoot\\images\\";

 

     savePath = ServletActionContext.getRequest().getRealPath("");

 

     

 

     System.out.println("upload()!!!!!");

 

        //上传多个文件  

 

        List files = getUpload();  

 

        // String ext ="";  

 

        FileOutputStream fos = null;  

 

        FileInputStream fis = null;  

 

        byte[] buffer = new byte[1024];  

 

        int len = 0;  

 

        Random rd = new Random();  

 

        System.out.println(files.size()+"               ----------------");

 

        System.out.println(getSavePath());

 

        for (int i = 0; i < files.size(); i++) {  

 

            try {  

 

                //以服务器的文件保存地址和当前时间组合文件名建立上传文件输出流  

 

                // ext =uploadFileName.get(i).substring(uploadFileName.get(i).lastIndexOf('.'));  

 

                 /* fos = new FileOutputStream(getSavePath()+ File.separator+ 

 

                 * DateFormatUtil.getCurrentCustomFormatDateTime(DateFormatUtil.DATE_TIME_FORMAT_14) + 

 

                 * String.valueOf(rd.nextInt(1000))+ext); 

 

                 */ 

 

             System.out.println(getSavePath()+"------------------------getsavepath!!!");

 

                fos = new FileOutputStream(getSavePath() + File.separator  

 

                        + uploadFileName.get(i));  

 

                // 以上传文件建立一个文件上传流  

 

                fis = new FileInputStream(files.get(i));  

 

                // 将上传文件的内容写入服务器  

 

                len = 0;  

 

                while ((len = fis.read(buffer)) > 0) {  

 

                    fos.write(buffer, 0, len);  

 

                }  

 

            } catch (Exception e) {  

 

                e.printStackTrace();  

 

            }  

 

        }  

 

         return SUCCESS;  

 

    }  

 

}

 

fileuploadoutput.jsp

 

 

 

  

 

         文件路径:

 

              

 

         

 

         文件为:
 

 

        

 

       

 

         

 

         

 

         

 

       

 

你可能感兴趣的:(struts2中标签的使用)