« Return to Thread: [S2] Can't setBufferSize on StreamResult from action configuration (Struts2 2.1.6)

Re: [S2] Can't setBufferSize on StreamResult from action configuration (Struts2 2.1.6)

by DNewfield :: Rate this Message:

Reply to Author | View in Thread

Francisco José Aquino García wrote:
>       <result type="stream">
>         <param name="contentType">${mimeType}</param>
>         <param name="contentLength">${length}</param>
>         <param name="contentDisposition">inline; filename="${fileName}"</param>
>         <param name="inputName">inputStream</param>
>         <param name="bufferSize">${buffSize}</param>
>         <param name="allowCaching">false</param>
>       </result>
>     </action>

The result doesn't evaluate bufferSize.  You can't put in OGNL there.

> I've been peeking a little into
> org.apache.struts2.dispatcher.StreamResult, and it indeed has a
> property bufferSize of type int, but looks like OGNL keeps on
> hammering a non-existent String one.

"${buffSize}" is a String.

> By the way, I also can't get the point of contentLengh being String.

Did you notice where that string is explicitly parsed to extract a real
value?

   198               // Set the content length
   199               if (contentLength != null) {
   200                   String _contentLength =
conditionalParse(contentLength, invocation);
   201                   int _contentLengthAsInt = -1;
   202                   try {
   203                       _contentLengthAsInt =
Integer.parseInt(_contentLength);
   204                       if (_contentLengthAsInt >= 0) {
   205
oResponse.setContentLength(_contentLengthAsInt);
   206                       }
   207                   }
   208                   catch(NumberFormatException e) {
   209                       log.warn("failed to recongnize
"+_contentLength+" as a number, contentLength header will not be set", e);
   210                   }
   211               }

-Dale


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...

 « Return to Thread: [S2] Can't setBufferSize on StreamResult from action configuration (Struts2 2.1.6)