1

我想使用 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>
4

1 回答 1

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 ”,开发自定义组件变得尽可能简单。

于 2009-04-11T15:40:20.113 回答