RE: binary view

2005-04-18 Thread Smith, Thad
The problem is that you're opening the output stream at the beginning of
your jsp and then reopening the output stream by calling
response.getOutputStream(). I believe you can call response.reset() to
fix this problem:

%
response.reset();
response.setContentType(image/png);
java.io.OutputStream os = response.getOutputStream();
java.awt.image.BufferedImage buffer = (java.awt.image.BufferedImage)
request.getAttribute(imageBuffer);
javax.imageio.ImageIO.write(buffer,png,os);
os.flush();
os.close();
%

Regards,

Thad Smith

-Original Message-
From: Daniel Watrous [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 18, 2005 4:20 PM
To: user@struts.apache.org
Subject: binary view

I have an action in my application that generates a PNG image from
some text stored in a session object.  My view is very simple:

[EMAIL PROTECTED] contentType=image/png%
%
java.io.OutputStream os = response.getOutputStream();
java.awt.image.BufferedImage buffer = (java.awt.image.BufferedImage)
request.getAttribute(imageBuffer);
javax.imageio.ImageIO.write(buffer,png,os);
os.close();
%

Thats it.  My action loads imageBuffer with the image data.

The first time I load the page I get the error:
java.lang.IllegalStateException: getOutputStream() has already been
called for this response

Is there a better way to accomplish what I am after?  I would prefer
to load the page one time and have it work, rather than the refresh. 
Thanks in advance...

DW

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: binary view

2005-04-18 Thread Larry Meadors
Why even bother with a jsp?

You have the response object in your action, just start spewing data into 
it.

Larry

On 4/18/05, Daniel Watrous [EMAIL PROTECTED] wrote:
 
 I have an action in my application that generates a PNG image from
 some text stored in a session object. My view is very simple:
 
 [EMAIL PROTECTED] contentType=image/png%
 %
 java.io.OutputStream os = response.getOutputStream();
 java.awt.image.BufferedImage buffer = (java.awt.image.BufferedImage)
 request.getAttribute(imageBuffer);
 javax.imageio.ImageIO.write(buffer,png,os);
 os.close();
 %
 
 Thats it. My action loads imageBuffer with the image data.
 
 The first time I load the page I get the error:
 java.lang.IllegalStateException: getOutputStream() has already been
 called for this response
 
 Is there a better way to accomplish what I am after? I would prefer
 to load the page one time and have it work, rather than the refresh.
 Thanks in advance...
 
 DW
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 



RE: binary view

2005-04-18 Thread Folashade Adeyosoye
This might be a good case to write a custom tag.



-Original Message-
From: Daniel Watrous [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 18, 2005 5:20 PM
To: user@struts.apache.org
Subject: binary view

I have an action in my application that generates a PNG image from
some text stored in a session object.  My view is very simple:

[EMAIL PROTECTED] contentType=image/png%
%
java.io.OutputStream os = response.getOutputStream();
java.awt.image.BufferedImage buffer = (java.awt.image.BufferedImage)
request.getAttribute(imageBuffer);
javax.imageio.ImageIO.write(buffer,png,os);
os.close();
%

Thats it.  My action loads imageBuffer with the image data.

The first time I load the page I get the error:
java.lang.IllegalStateException: getOutputStream() has already been
called for this response

Is there a better way to accomplish what I am after?  I would prefer
to load the page one time and have it work, rather than the refresh. 
Thanks in advance...

DW

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]