2009-03-19 6 views
1

Je veux effectuer la tâche suivante en utilisant JSF/RichFacesComment rendre une image avec map avec JSF/Richfaces?

En cliquant sur un lien - Je voudrais générer une image PNG avec la carte (partie de l'image doit être cliquable) et rendre sous un panneau.

Lorsque je génère l'image, je connais les coordonnées de l'image qui doit être cliquable. Donc je peux générer la carte. Mais je veux le faire sous un fichier XHTML. Peut-riche: tag paint2d accepter la carte comme -

<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> 

Répondre

1

Il n'y a aucun moyen par défaut pour y parvenir. Le seul moyen est de développer votre propre composant personnalisé JSF. J'ai développé ma propre balise JSF comme <custom:image id = "im1" width="800px" height="400px" useMap="dwMap"/>. Le engne JSF trouve quand cette balise - rend une balise html « img » avec une carte comme

<img width="800" border="0" height="400" useMap="#dwMap" src="/imageB94DFA031CA999EE65ED586627F630BE.png"/> 
<map name="dwMap"><area coords="735,225 20" shape="Circle" onMouseOver="call('735,225 20')" title="Start Time : 2009-02-16 15:32:48 
End Time : 2009-02-16 15:34:59" /><area coords="570,225 20" shape="Circle" onMouseOver="call('570,225 20')" title="Start Time : 2009-02-16 15:32:27 
End Time : 2009-02-16 15:32:39" /><area coords="405,237 20" shape="Circle" onMouseOver="call('405,237 20')" title="Start Time : 2009-02-16 15:14:41 
End Time : 2009-02-16 15:16:58" /><area coords="241,215 20" shape="Circle" onMouseOver="call('241,215 20')" title="Start Time : 2009-02-16 15:13:50 
End Time : 2009-02-16 15:14:00" /><area coords="76,181 20" shape="Circle" onMouseOver="call('76,181 20')" title="Start Time : 2009-02-13 17:57:31 
End Time : 2009-02-13 17:58:18" /></map> 

Bien qu'il semble compliqué de développer un composant personnalisé dans JSF, mais il est vraiment facile. On peut suivre l'article "JSF for nonbelievers" de Richard Hightower et développer un composant personnalisé devient aussi simple que possible.

Questions connexes