I want to perform the following task using JSF / Richfaces
On click of a link – I would like to generate a PNG image with map (portion of the image should be click-able) and render under a panel.
When I generate the image, I know the co-ordinates of the image which needs to be click-able. So I can generate the map. But I want to do it under one XHTML file. Can rich:paint2d tag accept map like –
<map name='mapGraph'> <area coords='754,378 20' href='http://google.com' shape='Circle' alt='Drill Down'> <area coords='33,439 20' href='http://google.com' shape='Circle' alt='Drill Down'> <area coords='393,425 20' href='http://google.com' shape='Circle' alt='Drill Down'> <area coords='573,378 20' href='http://google.com' shape='Circle' alt='Drill Down'> <area coords='213,407 20' href='http://yahoo.com' shape='Circle' alt='Drill Down'> </map>
There is no default way to achieve this. Only way is to develop your own JSF custom component. I developed my own JSF tag like
<custom:image id = 'im1' width='800px' height='400px' useMap='dwMap'/>. The JSF engne when finds this tag – renders an html tag ‘img’ with a map likeThough it sounds complicated to develop one custom component in JSF, but it is really easy. One can follow the article ‘JSF for nonbelievers‘ by Richard Hightower and developing a custom component becomes as easy as possible.