如何使用JSF / Richfaces使用地图渲染图像?

时间:2009-03-19 09:56:17

标签: jsf map richfaces

我想使用JSF / Richfaces

执行以下任务

点击链接 - 我想生成带有地图的PNG图像(图像的一部分应该是可点击的)并在面板下渲染。

当我生成图像时,我知道图像的坐标需要点击。所以我可以生成地图。但我想在一个XHTML文件下进行。可以富:paint2d标签接受地图如 -

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

1 个答案:

答案 0 :(得分:1)

没有默认的方法来实现这一目标。唯一的方法是开发自己的JSF自定义组件。我开发了自己的JSF标签,如<custom:image id = "im1" width="800px" height="400px" useMap="dwMap"/>。找到此标记时,JSF引用 - 使用类似

的映射呈现html标记“img”
<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>

虽然在JSF中开发一个自定义组件听起来很复杂,但它确实很容易。可以按照Richard Hightower的文章“JSF for nonbelievers”进行操作,开发自定义组件变得尽可能简单。