RichFaces Modal Panels, s:graphicImage, and IE6

If, like me, you are using the Seam s:graphicImage tag to serve an image from within a RichFaces modal panel, you may have run into an issue where in IE6 the image does not get displayed, and you get the dreaded red X of failure. It works fine in all other browsers, including IE7, and works outside of the modal panel, but not from within the modal panel.

It’s not a problem with the image data (saving the image from another browser and serving it up directly works fine. I suspect it’s a delay issue with the rendering of the modal panel. For me, it was serving up the red X about 90% of the time under IE6.

The “fix” is to stop using the s:graphicImage tag within the modal, and use a Servlet to stream out the image data instead. It’s pretty easy.

One gotcha I had was that I already had a Servlet handling video output, and I couldn’t find an example of how to configure two separate paths into the seam web:context-filter Servlet Filter (which allows access to Seam components, like the entity manager to load up the video/image items). A helpful response on the forums gave me this solution:

Also, if you’re struggling to figure out what a library’s new feature isn’t working for you, no matter how many permutations of the documented usage you try, check the versions in the manifest files in the library’s jars. Maybe, like me, you upgraded the jars in one project, but forgot to upgrade them in this one….





2 responses to “RichFaces Modal Panels, s:graphicImage, and IE6”

  1. Ana Avatar

    I have come across a similar issue. I spent way too long trying to figure out why my images where not showing up in richFaces modalPanel in IE6 (that’s how I came across your blog :).

    The problem was that none of my PNG images got rendered. When I used GIFs instead, everything looked ok in IE6. ModalPanel is the only component I have had this issue with so far.

  2. Fady Matar Avatar
    Fady Matar

    Ana the issue is a png issue with IE6, IE6 doesn’t handle alpha-transparency and hence renders the png images in a wrong way.

Leave a Reply

Your email address will not be published. Required fields are marked *

PHP Code Snippets Powered By :