bhaarat Sharma wrote:
Thanks for that. that gives me a better idea to go about things + i
didnt know we can call methods from struts.xml
http://struts.apache.org/2.x/struts2-core/apidocs/org/apache/struts2/dispatcher/StreamResult.html
describes how that result works, stating taht the "inputName" parameter
is "the name of the InputStream property from the chained action
(default = inputStream)"
The filename expression works because this result extends
http://struts.apache.org/2.x/struts2-core/apidocs/org/apache/struts2/dispatcher/StrutsResultSupport.html
which allows for ognl expressions in result parameters (if the parse
parameter is true, which is the default).
java.lang.ClassCastException: org.apache.coyote.tomcat5.CoyoteOutputStream
org.apache.struts2.dispatcher.StreamResult.doExecute(StreamResult.java:182)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
That's saying that it can't cast a "CoyoteOutputStream" as an
InputStream. The result will manage the output to the client. You
shouldn't need to deal with the response or the servlet. What you need
to do is provide the result with a source of the data to be sent to the
client.
Note that every call to getExcelStream needs to return an independent
InputStream. For example, when you don't tell the result the
contentLength it has no choice but to step through the entire stream to
find the length, then it'll ask for a new stream to actually pull the
data out of to send to the client.
-Dale
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]