我正在使用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
命名)?
答案 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>
)