Thanks for your help Frank, Davlid, Shayam,

Unfortunatly, non of the solutions worked.

I renamed my reset method in the form bean and am calling it manually
at the end of the action - this stops the booleans from being reset
when IE resubmits the request. Dodgy but it works.

Also, there was a bit of code on java.sun.com forum which helps to
stop the action from processing all the business logic 3 times, but
execute method is still called 3 times:

//work-around for IE streaming pdf bug
//http://support.microsoft.com/default.aspx?scid=kb;EN-US;q293792
String accLang = request.getHeader("accept-language");
String theAgent = request.getHeader("user-agent");

//the user-agent is set to contype only for the first request
if (request.getHeader("user-agent").equals("contype")) {
   response.setContentType("application/pdf");
   response.setStatus(HttpServletResponse.SC_OK);
   return null;
}

// IE 5.5 and IE 6 only has an accept-language header on the first
request so if present
// ignore this request
if (theAgent.indexOf("MSIE") != -1) {
 if (accLang != null) {
   response.setContentType("application/pdf");
   response.setStatus
(HttpServletResponse.SC_OK);
   return null;
 }
}

Cheers,
N



--- In [EMAIL PROTECTED], "David Gagnon" <[EMAIL PROTECTED]> wrote:
> Hi,
>
>  You can also look how FOP work around this problem:
>
> http://xml.apache.org/fop/faq.html#iex-servlet-multiple
>
> /David
>
> -----Message d'origine-----
> De : tvvincam [mailto:[EMAIL PROTECTED]
> Envoyé : June 20, 2004 22:22
> À : [EMAIL PROTECTED]
> Objet : problem with returning a pdf
>
> Hi,
>
> I'm using JasperReports to create a pdf based on user criteria
> submitted via a struts form.
>
> I've run into a problem with a feature in IE
> http://support.microsoft.com/default.aspx?scid=kb;EN-US;q293792
>
> Basically, IE will resubmit the request 3 times. This is causing a
> problem because the reset method is called on my form bean and
wipes
> out all my boolean selection criteria.
>
> The iText web site http://www.lowagie.com/iText/faq.html#msie
> has the following work around:
> <HTML>
> <BODY leftMargin=0 topMargin=0 scroll=no>
>   <EMBED src="http://myserver/pdfCreationServlet"; width="100%"
> height="100%" type=application/pdf fullscreen="yes">
> </body>
> </html>
>
> but I cannot figure out how to get the user input using this method.
>
> Is there a way around this problem? The only way I can think of
doing
> is to save the pdf byte[] in session and then get redirect the user
> to the above work around page. The above link will point to another
> action which will get the pdf byte[] from session and write it to
the
> response. I really don't like this solution and would appreciate
any
> help.
>
> Cheers,
> N
>
>
> --------------------------------------------------------------------
-
> 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]


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

Reply via email to