struts2文件下载

以下是注解方式的struts2文件下载

  @ResultPath("/")
  
@Results(value={@Result(name="success", type="stream",params={"contentType","image/jpg","inputName","targetFile","contentDisposition","attachment;filename=123.jpg","bufferSize","4096"})})
  
public 
  class DownloadAction 
  extends ActionSupport {
  

    
  private InputStream targetFile;
  
    
  
    
  public InputStream getTargetFile() {
  
        
  //
  123.jpg文件必须存在,特别注意
        
  //
  否则会抛异常 Can not find a java.io.InputStream with the name [targetFile]  
        
  //
  上边异常的解决参见  

  
        
  return ServletActionContext.getServletContext().getResourceAsStream("/upload/123.jpg");
  
    }
  

    
  public 
  void setTargetFile(InputStream targetFile) {
  
        
  this.targetFile = targetFile;
  
    }
  
}
 index.jsp
<%
  @ page language
  =
  "
  java
  "
   import
  =
  "
  java.util.*
  "
   pageEncoding
  =
  "
  UTF-8
  "
  %>
  
<%
  

  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">
    
  -->
  
  
  </
  head
  >
  
  
  
  
  <
  body
  >
  
   
  <
  a 
  href
  ="download.action"
  >123.jpg
  </
  a
  >
  
  
  </
  body
  >
  
</
  html
  >