xuyi.netjava 发表于 2013-2-7 08:16:14

Struts附件上传

第一,jsp上传页面内容:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<html:form action="myupload.do" method="post" enctype="multipart/form-data">
    <html:file property="thisFile"/><br>
<html:file property="thisFile"/><br>
    <html:submit/>
</html:form>
</body>
</html>



第二,一个javabean
package upload;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;

public class FileInfo extends ActionForm {
    private FormFile thisFile;
    public FormFile getThisFile() {
      return thisFile;
    }

    public void setThisFile(FormFile thisFile) {
      this.thisFile = thisFile;
    }

    public ActionErrors validate(ActionMapping actionMapping,
                                 HttpServletRequest httpServletRequest) {
            /** @todo: finish this method, this is just the skeleton.*/
      return null;
    }

    public void reset(ActionMapping actionMapping,
                      HttpServletRequest servletRequest) {
    }
}
第三,一个action
package upload;
import java.io.*;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.struts.upload.FormFile;

public class myupload extends Action {
    public ActionForward execute(ActionMapping actionMapping,
                                 ActionForm actionForm,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws
            FileNotFoundException, IOException {
      FileInfo fileInfo = (FileInfo) actionForm;

      //获取上传文件
      FormFile f=fileInfo.getThisFile();
      InputStream is=f.getInputStream();

      //将文件存入服务器上
      String filename=request.getSession().getServletContext().getRealPath("/shangchuan/"+f.getFileName());
      OutputStream os=new FileOutputStream(filename);
      int x=0;

      //优化流处理过程
      byte[] buffer = new byte;

      while((x=is.read(buffer, 0, 8192))!=-1)
      {
            os.write(buffer,0,x);
      }
      os.close();
      response.sendRedirect("jsp1.jsp");//根据实际情况跳转
      return null;
    }
}
页: [1]
查看完整版本: Struts附件上传