myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mario Ivankovits <ma...@ops.co.at>
Subject Re: how to create dynamic grahpics with JFreeChart and myfaces?
Date Wed, 06 Jun 2007 13:43:56 GMT
Hi!
> I want to show a BufferedImage on a JSF-generated page. In my case, this Image is generated
by the JFreeChart[1] library. Now my question:
> What must I do, that I can show this image as a graphic on a JSF Page?
>   
Hehe - I had the same problem yesterday.

One solution is the latest tomahawk-sandbox and its graphicsImageDynamic
component.
There you can do something like:

<s:graphicsImageDynamic value="#{backingBean.chartRenderer}" where the
method signature of chartRenderer is

public ImageRenderer getChartRenderer()
{
}

To fulfill the ImageRenderer requirements is easy, just create a png/gif
byte array out of the chart and write it to the ResponseStream where
requested by the ImageRenderer Interface.
The trick is, that you have to find some way to push down informations
to the managed bean.

If you do not use MyFaces Orchestra (or Seam) which provides a
conversation scope, the easiest way is to put the backingBean into the
session scope.


Another way is to use s:graphicsImageDynamic
imageRenderer="#{backingBean.chartImageRenderer}". Then the method
signature of chartImageRenderer is
public String getChartImageRenderer() where you have to provide a FQN of
a class implementing the ImageRenderer interface.
It should work then to add f:param tags within the graphicsImageDynamic
component to pass down some informations to the renderer.
Though, I do not know much more about that way ... I am a MyFaces
Orchestra user ;-)

Ciao,
Mario


Mime
View raw message