org.apache.struts2.dispatcher
Class StreamResult

java.lang.Object
  extended by org.apache.struts2.dispatcher.StrutsResultSupport
      extended by org.apache.struts2.dispatcher.StreamResult
All Implemented Interfaces:
Result, Serializable, StrutsStatics

public class StreamResult
extends StrutsResultSupport

A custom Result type for sending raw data (via an InputStream) directly to the HttpServletResponse. Very useful for allowing users to download content.

This result type takes the following parameters:

These parameters can also be set by exposing a similarly named getter method on your Action. For example, you can provide getContentType() to override that parameter for the current action.

Example:

 <result name="success" type="stream">
   <param name="contentType">image/jpeg</param>
   <param name="inputName">imageStream</param>
   <param name="contentDisposition">attachment;filename="document.pdf"</param>
   <param name="bufferSize">1024</param>
 </result>
 

See Also:
Serialized Form

Field Summary
protected  boolean allowCaching
           
protected  int bufferSize
           
protected  String contentCharSet
           
protected  String contentDisposition
           
protected  String contentLength
           
protected  String contentType
           
static String DEFAULT_PARAM
           
protected  String inputName
           
protected  InputStream inputStream
           
protected static Logger LOG
           
 
Fields inherited from interface org.apache.struts2.StrutsStatics
HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT
 
Constructor Summary
StreamResult()
           
StreamResult(InputStream in)
           
 
Method Summary
protected  void doExecute(String finalLocation, ActionInvocation invocation)
          Executes the result given a final location (jsp page, action, etc) and the action invocation (the state in which the action was executed).
 boolean getAllowCaching()
           
 int getBufferSize()
           
 String getContentCharSet()
           
 String getContentDisposition()
           
 String getContentLength()
           
 String getContentType()
           
 String getInputName()
           
protected  void resolveParamsFromStack(ValueStack stack, ActionInvocation invocation)
          Tries to lookup the parameters on the stack.
 void setAllowCaching(boolean allowCaching)
          Set allowCaching to false to indicate that the client should be requested not to cache the data stream.
 void setBufferSize(int bufferSize)
           
 void setContentCharSet(String contentCharSet)
           
 void setContentDisposition(String contentDisposition)
           
 void setContentLength(String contentLength)
           
 void setContentType(String contentType)
           
 void setInputName(String inputName)
           
 
Methods inherited from class org.apache.struts2.dispatcher.StrutsResultSupport
conditionalParse, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

protected static final Logger LOG

DEFAULT_PARAM

public static final String DEFAULT_PARAM
See Also:
Constant Field Values

contentType

protected String contentType

contentLength

protected String contentLength

contentDisposition

protected String contentDisposition

contentCharSet

protected String contentCharSet

inputName

protected String inputName

inputStream

protected InputStream inputStream

bufferSize

protected int bufferSize

allowCaching

protected boolean allowCaching
Constructor Detail

StreamResult

public StreamResult()

StreamResult

public StreamResult(InputStream in)
Method Detail

getAllowCaching

public boolean getAllowCaching()
Returns:
Returns the whether or not the client should be requested to allow caching of the data stream.

setAllowCaching

public void setAllowCaching(boolean allowCaching)
Set allowCaching to false to indicate that the client should be requested not to cache the data stream. This is set to false by default

Parameters:
allowCaching - Enable caching.

getBufferSize

public int getBufferSize()
Returns:
Returns the bufferSize.

setBufferSize

public void setBufferSize(int bufferSize)
Parameters:
bufferSize - The bufferSize to set.

getContentType

public String getContentType()
Returns:
Returns the contentType.

setContentType

public void setContentType(String contentType)
Parameters:
contentType - The contentType to set.

getContentLength

public String getContentLength()
Returns:
Returns the contentLength.

setContentLength

public void setContentLength(String contentLength)
Parameters:
contentLength - The contentLength to set.

getContentDisposition

public String getContentDisposition()
Returns:
Returns the Content-disposition header value.

setContentDisposition

public void setContentDisposition(String contentDisposition)
Parameters:
contentDisposition - the Content-disposition header value to use.

getContentCharSet

public String getContentCharSet()
Returns:
Returns the charset specified by the user

setContentCharSet

public void setContentCharSet(String contentCharSet)
Parameters:
contentCharSet - the charset to use on the header when sending the stream

getInputName

public String getInputName()
Returns:
Returns the inputName.

setInputName

public void setInputName(String inputName)
Parameters:
inputName - The inputName to set.

doExecute

protected void doExecute(String finalLocation,
                         ActionInvocation invocation)
                  throws Exception
Description copied from class: StrutsResultSupport
Executes the result given a final location (jsp page, action, etc) and the action invocation (the state in which the action was executed). Subclasses must implement this class to handle custom logic for result handling.

Specified by:
doExecute in class StrutsResultSupport
Parameters:
finalLocation - the location (jsp page, action, etc) to go to.
invocation - the execution state of the action.
Throws:
Exception - if an error occurs while executing the result.
See Also:
StrutsResultSupport.doExecute(java.lang.String, com.opensymphony.xwork2.ActionInvocation)

resolveParamsFromStack

protected void resolveParamsFromStack(ValueStack stack,
                                      ActionInvocation invocation)
Tries to lookup the parameters on the stack. Will override any existing parameters

Parameters:
stack - The current value stack


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.