我正在尝试在我的网页上创建缩略图库,以便在点击其中时显示完整尺寸的图像。图像存储在辅助bean中,并带有标记。
<li>
<a href="????">
<ice:graphicImage value="#{screenshot.image}" styleClass="thumb"/>
</a>
</li>
当在页面上时,我看到图像的地址类似于/ block / resource / MjY0OTc3Mzc1 /,因为它们由Icefaces阻塞servlet提供。
我需要知道的是如何获取图像链接,以便将其放入元素中。
感谢您的帮助!
答案 0 :(得分:0)
在这种特殊情况下,最好的选择可能是JavaScript。页面加载完毕后,抓取所有<img>
个元素thumb
元素,提取src
属性,找到父<a>
并相应更新其href
属性
但我不会这样做。一,这对用户体验不利。二,它不适用于JS禁用的客户端。三,将原始图像存储在bean中是内存占用。而是将图像存储在本地磁盘文件系统上并直接链接到它们,或者在公共webcontent之外或在数据库中使用servlet链接。然后在您的托管bean中只有一个URL集合到图像(或servlet),让servlet相应地顺序流。您可以找到here此类servlet的基本示例和here支持缓存和恢复的更高级的示例。
答案 1 :(得分:0)
以下是我为解决问题所做的工作。 我的画廊有这个无序列表:
<ui:repeat value="#{solutionBean.solution.screenshots}" var="screenshot">
<li>
<a href="gal" rel="prettyPhoto[gallery]" title="#{screenshot.description}">
<ice:graphicImage value="#{screenshot.image}" alt="#{screenshot.alternative}"
height="135" width="130"/>
</a>
</li></ui:repeat>
我添加了这个脚本,用图片中的src元素替换超链接中的href elemnt:
jQuery(document).ready(function() {
jQuery("a[href^='gal']").each(function() {
this.href = jQuery('img', this).attr("src");
});
});