h:graphicImage JSF的图像路径

时间:2012-11-07 22:08:24

标签: java jquery jsf resources prettyphoto

我正在使用h:graphicImage来使用name属性显示图像。现在,为了成功实现PrettyPhoto (JQuery implementation),我需要得到图像的结果路径(/javax.faces.resource/pictures/file.png.xhtml),因为我的<a href />也是如此。

正如您从PrettyPhoto的文档片段中看到的那样,我将需要我的图像的路径作为我的<a href />的路径(由于使用缩略图的事实,实际上存在差异):

<a href="images/fullscreen/2.jpg" rel="prettyPhoto" title="This is the description">
    <img src="images/thumbnails/t_2.jpg" width="60" height="60" alt="This is the title" />
</a>

有没有办法为我的h:graphicImage提取资源名称(因为h:outputLink命名)?

1 个答案:

答案 0 :(得分:12)

您可以使用隐式EL变量映射器#{resource}将JSF资源库/名称转换为完整URL。

所以,在你的特定情况下,

<h:outputLink value="#{resource['images/fullscreen/2.jpg']}">
    <h:graphicImage name="images/thumbnails/t_2.jpg" />
</h:outputLink>

如果您还使用资源库,则语法应如下所示:

<h:outputLink value="#{resource['default:images/fullscreen/2.jpg']}">
    <h:graphicImage library="default" name="images/thumbnails/t_2.jpg" />
</h:outputLink>

(请注意,您甚至可以使用<a href>代替<h:outputLink value>