History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: WW-1456
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: tm_jee
Reporter: Paul Boudreaux
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
WebWork

IE not friendly to SSL headers in JasperReportsResult

Created: 27/Apr/07 03:53 AM   Updated: 30/Nov/07 07:34 AM
Component/s: Views
Affects Version/s: 2.2.4
Fix Version/s: 2.2.7

File Attachments: 1. Java Source File JasperReportsResult.java (13 kb)

Environment: WinXP Pro SP2, IE 6&7, Tomcat 5.5, only when using SSL


 Description  « Hide
IE has an issue with opening no-cache documents in SSL.
http://support.microsoft.com/kb/316431
This causes a jasper result that opens to an application ContentType to not be viewable within SSL(pdf, xls).
By adding:
response.setHeader("Cache-Control", "cache, must-revalidate");
response.setHeader("Pragma" , "public");
IE will display the reports. Firefox has no issues with the changes. To make sure it would not retain the pdf and ignore new results, I changed some of the data to be displayed, and it loaded correctly after making the changes.

 All   Comments   Change History      Sort Order:
Paul Boudreaux - [27/Apr/07 04:08 AM ]
This is a bit of a lazy fix, but should fix the issue. Haven't tested it while not using SSL.

tm_jee - [30/Nov/07 04:45 AM ]
Fixed, changes are at :-

Modified: mybrain\webwork\src\java\com\opensymphony\webwork\dispatcher\HttpHeaderResult.java
Modified: mybrain\webwork\src\java\com\opensymphony\webwork\util\ClassLoaderUtils.java
Adding: mybrain\webwork\src\java\com\opensymphony\webwork\views\AbstractHttpHeaderPopulatingResult.java
Modified: mybrain\webwork\src\java\com\opensymphony\webwork\views\jasperreports\JasperReportsResult.java
Modified: mybrain\webwork\src\test\com\opensymphony\webwork\dispatcher\HttpHeaderResultTest.java
Sending content: mybrain\webwork\src\java\com\opensymphony\webwork\util\ClassLoaderUtils.java
Sending content: mybrain\webwork\src\java\com\opensymphony\webwork\views\AbstractHttpHeaderPopulatingResult.java
Sending content: mybrain\webwork\src\test\com\opensymphony\webwork\dispatcher\HttpHeaderResultTest.java
Sending content: mybrain\webwork\src\java\com\opensymphony\webwork\dispatcher\HttpHeaderResult.java
Sending content: mybrain\webwork\src\java\com\opensymphony\webwork\views\jasperreports\JasperReportsResult.java
Completed: At revision: 2977

tm_jee - [30/Nov/07 07:34 AM ]
Hi guys,

Implemeted this as follows :-

We now have an abstract class AbstractHttpHeaderPopulatingResult that populate headers into http servlet response. Eg.

<result ...>
  <param name="header.Content-Type">text/html</param>
  <param name="header.Pragma">no-cache</param>
  ....
</result>

Two classes that extends from it are HttpHeaderResult and JasperReportsResult. This allow both to have response header populated. HttpHeaderResult goes a bit further to allow its http status to be set as well.

This was a refactor from previous version of HttpHeaderResult to move the http header population stuff into an abstract class (AbstractHttpHeaderPopulatingResult)

Kindly review.

Cheers.